VirtualDub change log

Build %build% (1.7.7, stable): [%date%]
   [bugs fixed]
   * Improved accuracy of "set so audio and video durations match" for short clips.
   * Fixed vertical chroma positioning errors when converting to 4:2:0 or 4:1:0 YCbCr.
   * PluginSDK: Direct stream copy from a plugin audio stream caused dwStreamSize in the AVI to be set incorrectly.
   * PluginSDK: Fixed crash when using plugin to load a file with an audio stream that isn't AVI compatible.
   * Capture: When "wait for OK" was enabled with a DirectShow driver, time spent in the dialog was counted against a time stop condition.
   * Capture: Fixed crash when an error occurs while starting capture with a custom hotkey.

   [regressions fixed]
   * "Save segmented AVI" no longer crashes when only video is enabled.
   * Prohibit zero for frame rate adjustment.
   * Filters: The error return from runProc is ignored again for compatibility with earlier versions of VirtualDub; this fixes some video filters that broke in the 1.7.x series.
   * D3D: Fixed a display change related crash.

Build 28292 (1.7.6, stable): [October 13, 2007]
   [bugs fixed]
   * Cancelling the mode selection dialog for "create test video" didn't cancel the open.
   * IVTC now works when the video format is non-RGB.
   * Fixed garbled image when scrolling through an animated GIF in filter preview.
   * Fixed missing frames when opening animated GIFs with zero delay times in frames.
   * Fixed sync error when processing VBR audio in Direct mode.
   * PluginSDK: Not supplying a custom signature caused a sketchy match to be returned instead of full match.
   * PluginSDK: Fixed API host related crashes in filter preview and IVTC paths.
   * PluginSDK: Fixed support for VBR audio.
   * PluginSDK: Fixed handling of internal-decode frames.
   * PluginSDK: Fixed crash when no video stream is present.
   * Capture: Video filters were receiving frame times that were 1000x too large.
   
   [regressions fixed]
   * AMD64: Fixed a pretty nasty stack misalignment issue in the 64-bit build.
   * Fixed compression issues with WMV9VCM.

Build 28225 (1.7.5, stable): [September 29, 2007]
   [bugs fixed]
   * Audio display couldn't be opened if the curve editor was open.
   * Temporal smoother filter crashed in out of memory conditions.
   * Fixed rare cases where WAV reader returned the wrong data.
   * Capture: Fixed crash in screen capture driver with video cards that only support OpenGL 1.0.
   * Capture: Screen capture driver sometimes drew garbage cursor before first cursor change.
   * PluginAPI: Default I/P frame model wasn't working.

Build 28204 (1.7.4, stable): [September 22, 2007]
   [bugs fixed]
   * Fixed bug where frame regions were shifted instead of extended to fix key frame violations in direct video mode.
   * If a video filter errored out during start phase, already initialized filters didn't receive end calls.
   * Toggling the "show decompressed video" setting in Fast/Normal Recompress modes could result in a crash.

Build 28191 (1.7.3, experimental): [August 31, 2007]
   [features added]
   * Added display option for showing display debugging info.
   * Frame rate adjustment can now be entered exactly, including as a rational fraction.
   * Jobs can now be reloaded for tweaking.
   * Capture: Added several options for fine-tuning timing issues with DirectShow-based capture drivers.
   * D3D: Improved bicubic algorithm for ps1.1+ capable cards.
   * D3DFX: Extended annotation and semantics support -- see help for details.
   * Hex editor: Now supports drag and drop.

   [bugs fixed]
   * Audio volume dialog didn't display properly after setting volume adjustment to zero in script.
   * Fixed crash when attempting to use "show decompressed output" when no decompressor is available for the output format.
   * Added workaround for digital cameras that write incomplete u-law audio formats.
   * Fixed crash when writing job that uses the Pinnacle DV codec.
   * Added code to prevent crash when decoding an MJPEG stream where the JPEG images are larger than the frame size reported in the video stream. This now produces an error when the internal decoder is used.
   * AVI recovery code can now recover AVI files with 'rec' grouping chunks.
   * Fixed scrambled colors in filter preview with paletted video.
   * Fixed I/O errors in rare case where an AVI file could not be opened in unbuffered I/O mode.
   * Implemented mode 7 compression, HAM, and Halfbrite modes in IFF ANIM reader.
   * Audio display would occasionally stop updating across certain edits.
   * Output video pane now updates itself after filters are edited.
   * Fixed minor bug where audio decompression errors would be reported as compression errors.
   * Fixed a case where audio displacements didn't work with compressed audio and full processing mode.
   * Perspective video filter now works in batch mode.
   * Added workaround for strange bit rates being shown on output AVI files in Windows Vista Explorer.
   * Fixed decoding of AVI files that have zero-byte frames marked as key frames (AVIFile turns these back into non-key frames).
   * "Sharpen" video filter no longer shows black when filter preview is first opened.
   * D3DFX: Leaving alpha blending on in an effect no longer scrambles YCbCr decoding.
   
   [regressions fixed]
   * OK and Cancel behaviors on brightness/contrast video filter were swapped.
   * Fixed crash when loading 8-bit RLE videos.
   * D3D: Works again on video cards supporting less than pixel shader 3.0.
   * Added setting value back to sharpen video filter configuration dialog.
   * Fixed trippy gradient displays when trying to show a solid color for the dummy frame at the end (some display drivers don't handle 1x1 blits correctly).
   * Capture: Left-click start option works again.
   
Build 27700 (1.7.2, experimental): [May 19, 2007]
   [features added]
   * Added minor frame lines to the parameter curve editor.
   * Input driver plugin support.
   * The threshold, sharpen, and brightness/contrast filters now support preview.
   * The DV type-1 audio source can now be set to conceal errors.
   * Rendering operations can be throttled or paused.
   * Capture: Screencap driver can now capture the mouse cursor.

   [bugs fixed]
   * AVI parser now handles files with a significant amount of garbage prior to the first video or audio chunk.
   * Curve editor opens to current frame instead of frame 0.
   * Smart rendering didn't check the right locations in filter opacity curves if edits had been applied.
   * Animated GIF decoder didn't handle the "erase" and "restore" disposal modes correctly.
   * Animated GIF decoder could display a one-frame glitch at start of decoding.
   * Time-based filters and filter curves weren't reflected in output preview when applied to a repeating frame.
   * Fixed interlaced field DirectDraw display with planar YCbCr formats.
   * The "smart rendering" option could cause a missing codec error even if the video mode was set to Direct.
   * Added workaround for BlackMagic MJPEG codec not producing key frames.
   * Added workaround for update problems with the Direct3D and OpenGL display modes in Windows Vista.
   * Capture: Fixed crash when attempting to use "remove duplicate frames" feature of screencap driver on a 3D card that didn't support occlusion query.
   * Capture: Fixed crash in screencap driver on 3D cards that don't support buffer objects.
   * Capture: Fixed bugs in screencap driver's rescale function.

   [regressions fixed]
   * Fixed inaccurate length field in WAV header.
   * D3D: Fixed memory leak.
   * AMD64: MPEG video decoder now works.

Build 27021 (1.7.1, experimental): [February 6, 2007]
   [features added]
   * AVI file info now shows the FOURCC of the video stream.
   * The "display decompressed output" option can now be enabled and disabled in the middle of encoding.
   * Improved playback timing.
   * Added /hexview command-line flag to open a file in read-only mode.
   * Added /noStupidAntiDebugChecks for development purposes.
   * Added "warp resize" video filter.
   * The "resize" video filter now allows editing the frame height with an aspect ratio constraint active.
   * Ctrl+Drag in the audio display modifies the audio displacement.
   * Added an option to create several types of diagnostic test videos.
   * Added Y800 as a synonym for Y8.
   * Added support for the 4:4:4 planar YCbCr "YV24" format.
   * Added animated GIF import.
   * D3D: UYVY, YUY2, YV24, YV16, YV12, I420, and YVU9 video display is now accelerated in Direct3D mode.
   * D3DFX: Added additional support for field-based display shaders.
   * Capture: Added a new screen capture driver.
   * Capture: Added configurable hotkeys for stopping and starting capture.
   * Capture: DirectShow filter graph build errors are now noted in the log window.
   * Capture: Full-screen mode now auto-hides mouse cursor.
   * Capture: Added UI for modifying DirectShow brightness, contrast, gamma, sharpness, and hue settings.
   * Capture: Audio playback setting is now auto-saved.

   [bugs fixed]
   * "Export as filmstrip" command failed if no audio stream was available.
   * Filmstrips didn't resave properly as AVI (video stream type set incorrectly).
   * Modified the SSE check to ignore the flush-to-zero (FTZ) bit, which unfortunately some compiler DLL runtimes twiddle.
   * "Preserve empty frames" was writing out the empty frames as key frames. VirtualDub corrects this on load, but it was still incorrect on disk.
   * "Preserve empty frames" caused the video codec key frame interval to work incorrectly -- it counted compressed frames rather than total frames.
   * "Display decompressed output" was broken.
   * Added workaround for silent crash when using the audio display with older versions of Avisynth.
   * Added workaround for digital cameras that leave the last byte off of JPEG images.
   * Added workaround for some naughty DLLs that prevented VirtualDub's crash logging mechanisms from working properly.
   * Added more workarounds for overlay surface goofiness on Windows Vista.
   * Audio display now reflects timeline edits and the audio displacement setting.
   * Made it more difficult to accidentally select frames in the audio display.
   * Fixed divide by zero crash when D3DFX display is enabled and a video pane is shrunken to zero width.
   * Fixed case where tiny audio chunks were emitted periodically when using some MP3 codecs at a 44KHz sampling rate (audio interleaving issue, not sync issue).
   * Fixed goofed file filters in source dialog of "create paletted AVI" option.
   * Inverse telecine could be enabled with smart rendering (which doesn't work).
   * Fixed "preserve empty frames" and "smart rendering" options to work better in the presence of a B-frame encoding delay.
   * Capture: Alt+Enter full-screen toggle left window in topmost placement.
   * Capture: Fixed sporadic crash when capturing with resync disabled.
   * Capture: Fixed tabbing in "set custom format" dialog.
   * Capture: /capfileinc and the startup code didn't increment the filename properly past existing files when multisegment capture was enabled.
   * Capture: Hide on Capture now works for DirectShow-based devices.
   * Capture: Added workaround for driver bug in Adaptec AVC-1400 GameBridge drivers that causes a crash when displaying video capture pin properties.
   * Capture: Fixed filter leak in DirectShow driver in some cases when the filter graph failed to build properly.
   * Capture: When the "transform filter" registry option was used, the transform filter popped off the capture filter after a video format change.

   [regressions fixed]
   * Fixed crash when opening AVI file with truncated MP3 audio format.
   * Fixed some audio sync errors when cutting.
   * Fixed the resize filter's settings not saving properly. This was actually caused by a long standing overload resolution bug in filter script with multiple glue functions on the same overload.
   * Fixed crash when attempting to preview with an audio stream for which no decompressor is available.
   * Fixed crash when using quick preview beyond end of selection.
   * Fixed a couple of cases of bogus total audio sample counts being reported in the dub status window.
   * Audio sync sometimes wasn't correct when cutting files with VBR audio.
   * Audio stream estimate on status window was sometimes negative.
   * Fixed crash at end of operation with IVTC enabled.

Build 25854 (1.7.0, experimental): [November 5, 2006]
   [features added]
   * New "smart rendering" feature for selective processing of video around edit areas while copying as many existing frames as possible.
   * New audio waveform/spectrogram display.
   * Added option for preserving empty frames during recompression or decompression instead of replicating frames.
   * Added option for saving raw audio stream without a header.
   * Added support for the Sony WAVE64 file format, for wave files larger than 4GB.
   * Added support for reading and writing Adobe Filmstrip (.flm) files.
   * Added support for reading Maya IFF (.iff) files. Currently this is limited to RGB information at 8 bits/channel.
   * PNG output is now supported.
   * Resize video filter now has options for relative and aspect-ratio derived sizing and to save defaults.
   * Opening a video file from the command-line or drag-and-drop now sets the filename as default for the Save As AVI/WAV dialogs.
   * Added new pitch scaling audio filter.
   * Improved quality of "center cut" audio filter (with suggestions from Moitah).
   * The main window and job control dialogs now save their positions.
   * Opacity curves can now be attached to video filter instances.
   * Volume adjustment now shows amplification factor in decibels.
   * Filter API: Preview code preserves keyboard accelerators on preview button.
   * Job control: (X of Y) is now displayed in the job control window caption when the job list is being processed.
   * AVI Info now shows additional information for PCM audio streams encoded using WAVE_FORMAT_EXTENSIBLE.
   * Capture: Added experimental option to insert arbitrary DirectShow transform filters into a capture graph. To enable, specify the filter moniker in [HKCU\Software\Freeware\VirtualDub\Hidden Features\CapDShow: Transform filter name] in the Registry.
   * Capture: Added full-screen toggle (Alt+Enter).
   * Capture: Added support for switching DirectShow TV tuners between antenna and cable modes.

   [features removed]
   * The "integral conversion" option under audio conversion is no longer supported.
   
   [bugs fixed]
   * Fixed a case where the projected file size status indicator could overflow for very long audio dumps.
   * AVIs with MP3 audio streams where wBitsPerSample != 0 are now detected and auto-corrected for better compatibility with the standard MP3 codec installed in Windows.
   * Rewrote segmentation code to buffer data instead of attempting size prediction; this makes the segmentation more accurate and avoids dangling key frames during on-the-fly compression.
   * Added workaround for compatibility problems with Aero Glass in Windows Vista beta 2.
   * Audio displacement now works when processing only part of the audio stream.
   * Added warning for non-zero dwStart values in AVI files.
   * Fixed a performance problem in the PNG decoder on large images with a lot of IHDR blocks.
   * Fixed errors in JPEG encoding with pure red or blue colors.
   * Changed keyboard shortcut for Undo from Ctrl+U to the standard Ctrl+Z.
   * Added workaround for annoying Microsoft security update that sometimes prevents the help file from working.
   * Fixed clamping in amplifier that caused -0x8000 values to change to -0x7FFF.
   * Capture: Duplicate raw wave formats are no longer shown with DirectShow-based drivers.
   * Capture: The UI now reflects changes to audio and video sources made through the driver dialogs.
   * Capture: Possible fix for crash when changing formats with DirectShow-based devices due to threading issue.

Build 24478 (1.6.19, stable): [June 3, 2007]
   [bugs fixed]
   * Fixed crash when creating batch jobs with certain Pinnacle video codecs.
   * Fixed crash when reading top-down BMP files.
   * Added workaround for crash on startup on some Windows 98/ME machines.

Build 24473 (1.6.18, stable): [May 19, 2007]
   * Improved compatibility of AVI files written in capture mode or with the "sector alignment" option. (NOTE: Affected files can be fixed by re-running them through VirtualDub in Direct mode.)
   * Fixed crash when selecting Cancel after removing certain video filters from the video filter chain.

Build 24469 (1.6.17, stable): [November 4, 2006]
   [bugs fixed]
   * Fixed divide by zero crash when Direct3D display is enabled and a video pane is shrunken to zero width.
   * UYVY video streams were being reported as RGB16.
   * Direct3D display minidriver didn't clip properly when the image was zoomed larger than the screen.

   [regressions fixed]
   * Capture: Reverted change in rendering strategy for DirectShow filter graphs in order to fix field problems with ATI devices.
   * Capture: Fixed crash when capturing video only using a VFW driver.

Build 24463 (1.6.16, stable): [August 12, 2006]
   [features added]
   * Added AMD64 versions of the frameserver and AVIFile frameclient.
   * Added .divx to file filter for video open dialog (although AVI files should be tagged .avi, dammit).

   [bugs fixed]
   * Fixed decoding errors when reading JPEGs with junk at the end of the file.
   * Improved support for working with video codecs that are configured to only output YUV formats.
   * Added more checks to script parameters for "resize" video filter.
   * Fixed gradient bugs in "smoother" video filter.
   * Added "png" file extension to logo filter open dialog; it has been supported for a while, but you had to manually override the file filter.
   * Fixed truncation in audio displacement setting that prevented it from working beyond ~35min.
   * Capture: Fixed crash when attempting to capture with both striping and segmentation (not supported).

   [regressions fixed]
   * Capture: Audio playback sometimes didn't work.
   * Capture: Fixed noise issue in resampler.
   * Improved accuracy of "box blur" filter.

Build 24442 (1.6.15, stable): [%date%]
   [bugs fixed]
   * Added workaround for BMP files with bad BITMAPINFOHEADER::bfSize fields.
   * Added workaround for TARGA files with run-length encodings that span scanlines (not allowed by spec).
   * Fixed abort confirm and disk I/O options not saving consistently.
   * Warnings, particularly the VBR warning, are now displayed after opening a file through command-line arguments.
   * Fixed crash when VirtualDub.jobs file is not writable.
   * Fixed crash when dealing with RLE4 and RLE8 encoded videos.
   * Fixed stride error with odd-width TARGA files.
   * Fixed occasionally oversized wave format structure being written when decompressing audio.
   * The "autoselect" input color format now also tries 256 color mode in order to support old codecs that can only output this format.
   * Capture: Switched graph construction code in DirectShow layer to prefer Video Renderer over VMR to avoid Direct3D.
   * AMD64: Fixed one-byte PUSH/POP instructions reporting incorrect registers in disassembly.
   * AMD64: Fixed field swap filter.

Build 24415 (1.6.14, stable): [March 12, 2006]
   [features added]
   * Added option to choose different disk I/O modes to tradeoff slower speed for better compatibility and system response.
   * Added /capfileinc switch to set filename and increment its trailing number to avoid existing files.

   [bugs fixed]
   * Added workaround for video codecs that read beyond the end of the input buffer during Huffman/VLC decoding.
   * Fixed intermittent problems with writing AVI files to a network drive.

Build 24390 (1.6.13, experimental): [February 26, 2006]
   [features added]
   * Added support for pass-through of PCM audio that has more than 2 channels.
   * Added limited support for correct seeking when reading AVI files with VBR audio. The VBR audio still cannot be written as such in Direct mode, however.
   * Added /hexedit command-line switch.
   * Converted help file to HTML Help (.chm) format.
   * Hex editor: Open dialog now persists its "open as read-only" setting.
   * Hex editor: Added keyboard shortcuts for open and save.
   * Hex editor: Stopping a RIFF scan still shows partial info.
   * Capture: Increased speed of audio resampler.
   * Capture: Added ability to fine-tune channel tuning.
   * Capture: The command-line /capstart option can now trigger a capture for shorter than one minute using an "s" prefix, i.e. 10s.
   * Capture: The "hide on capture" setting is now auto-saved.

   [bugs fixed]
   * JPEG files lacking a JFIF or Exim header were not recognized.
   * Error dialogs from Windows on disk or DLL load errors are now suppressed for command-line invocations.
   * TARGA files with a width of 1 were not written correctly.
   * Previewing an advanced audio filter graph using a format that the sound card could not play led to a deadlock.
   * Attempting to use audio conversion or resampling with an input PCM format that was not mono/stereo 8/16-bit led to a crash. For now, attempting to do this now throws an error.
   * Fixed redraw problems when adjusting the cropping settings of a video filter that is already being cropped on input.
   * Added workaround for broken AVI files that have MP3 audio streams with nBlockAlign=0.
   * Fixed audio stream sometimes being truncated when the audio stream's nBlockAlign doesn't match its dwSampleSize value.
   * Tabbing now works within the border fields of the cropping dialogs.
   * 16-bit (565) format was using a bogus bit mask for the green channel.
   * Added workaround for livelock when using Creative MP3 codec caused by strange PostThreadMessage() call within that codec.
   * When a video filter failed with an error during filter preview, the error was not displayed.
   * Fixed clicking in DV type-1 audio decoding when switches in audio sampling rate are encountered.
   * Added code to prevent confusion when multiple MP3 audio codecs are installed.
   * Capture: Video timing adjustment now defaults to enabled.
   * Capture: Cropping dialog did not always display live video properly if preview acceleration wasn't enabled.
   * Capture: Fixed intermittent crash when disabling filtering with a DirectShow driver.
   * Capture: An error is now displayed when DirectShow filter graph construction fails when starting capture.
   * Capture: The default display mode for DirectShow drivers couldn't be set to None.
   * Capture: BT8x8 Tweaker could cause U and V to swap on some cards.

   [regressions fixed]
   * Filter cropping dialog crashed when no video file was loaded.
   * Redraw requests could cause the output frame to be updated even if the output frame was disabled.
   * Capture: Frame rate went crazy when using Set Custom Format with DirectShow drivers.
   * Capture: Video codecs received a frame rate that was 1/10th that of the correct value (messed up bitrate values accordingly).

Build 24259 (1.6.12, experimental): [January 4, 2006]
   [features added]
   * Performance settings are now auto-saved.
   * Cropping dialogs now auto-scale video that is too large to display and use a dashed crop border for better visibility.
   * Added /cmd flag to quickly invoke a script command from the command-line.
   * There is now an option to avoid tearing in the video display panes.
   * Script: Added VirtualDub.Exit(int) command to end the program with a specific error code.
   * Script: Added VirtualDub.subset.length property for current length of subset in frames (timeline).
   * Script: Added VirtualDub.video.length property for current length of source video in frames.
   * Capture: The list of statistics displayed in the info panel has been expanded and can be filtered from the Preferences dialog.
   * Capture: Modified option to adjust video timing based on drift from ideal stream timing rather than real-time.
   * Capture: Reworked video timing interpolation to be less sensitive to discontinuities in the system timer.
   * Capture: "Autoincrement filename" option now automatically skips over existing files as well.
   * Capture: Added timing graph to visualize behavior of resync engine.
   * Capture: Timing logs, if enabled, are automatically saved at the end of capture.
   * Capture: Increased precision of frame period selection from 1us to 100ns to reduce frame dropping at device level when using DirectShow drivers.
   * Capture: Capture from DV sources to type-2 DV AVI using the DirectShow DV driver is now supported.
   * Capture: Backspace now works when entering channel numbers.

   [bugs fixed]
   * Increased precision of processing fps estimate.
   * "Space" is no longer listed as an accelerator for "abort dub" since it doesn't work as such when rendering to disk. It still works for preview.
   * Fixed job control re-enabling itself if a menu command is chosen while a job is running, leading to possible reentrancy crashes.
   * Clearing the current job list or loading a new one while a job was in progress led to a crash.
   * Invalid MPEG-1 layer II frame headers display a slightly less confusing error than "internal error."
   * Renamed "use internal MJPEG decoder" in AVI extended open options to "use internal decoders," since it happened to force the internal DV decoder too. Added a sticky option in Preferences for this.
   * Filters were receiving inconsistent output frame numbers when using input preview or saving with a starting offset.
   * Fixed crash when crop rectangle reduced filter input to smaller than 1x1.
   * Fixed crash when using deinterlace filter in "duplicate field 2" mode.
   * Fixed broken cropping in some modes of deinterlace filter.
   * Manually stopping a save operation will now also stop a running script, and cause a command-line task to return with an error code.
   * CLI tool didn't work properly when path to vdub.exe/vdub64.exe contained spaces.
   * Removed some hard-coded limits on frame rates in the Frame Rate dialog box.
   * Fixed minor memory leak when plugins fail to load.
   * Fixed a case where an I/O error on the output AVI file could cause a hang instead of an error to be displayed.
   * MPEG-1: Fixed yet another rare frame decoding error when seeking randomly in the timeline.
   * MPEG-1: Fixed crash when opening file with all CPU optimizations forced on.
   * D3DFX: vd_tvpcorrect, vd_t2vpcorrect, vd_tvpcorrect2, and vd_t2vpcorrect2 constants were computed with U and V sizes swapped.
   * Capture: VFW devices sometimes didn't display overlay properly with full-height frame sizes and consumed additional CPU due to the preview hook being left enabled.
   * Capture: The Video File (emulation) test capture driver is no longer a candidate for being saved as the driver to auto-start the next time capture mode is entered.
   * Capture: Unicode filenames are now displayed properly in the title bar.
   * Capture: Fixed 0.03%% sync error when using NTSC frame rates.
   * Capture: Fixed random crash when modifying filter parameters with a WDM capture driver active in accelerated preview mode.
   * Capture: Fixed keyboard focus on startup so that entering channel numbers works again.
   * Capture: Fixed instability on reporting errors when audio resampler is enabled.
   * (AMD64 only) Fixed crash when opening a Motion JPEG file with no MJPEG codec installed. Note that the internal MJPEG codec still isn't implemented for this platform.

   [regressions fixed]
   * Capture: Fixed normal errors sometimes being reported as internal errors.

Build 23774 (1.6.11, stable): [October 2, 2005]
   [features added]
   * Added support for using D3D .fx files for hardware-assisted display. This requires d3dx_25.dll (DirectX 9.0c April 2005) to work.
   * Added keyboard shortcuts for scene forward/backward.

   [bugs fixed]
   * The current frame could not be copied after a "scan for errors" command.
   * Fixed crash in DV type-1 audio resampling code at end of stream.
   * Fixed audio read errors on DV type-1 files with drop frames.
   * Fixed a couple of crash bugs related to using positive audio displacements.
   * Fixed a rare filter crash triggered by a previously failing filter suddenly becoming able to start while the filter list is being edited.
   * Fixed bad write length in .wav writer.
   * If precision was set to "no change" but channel conversion was enabled, the audio was converted to 8-bit.
   * Error descriptions for failed jobs were often truncated after exiting and restarting the app.
   * JPEG decoder sometimes reported false parsing errors due to not parsing over comment blocks.
   * Filter load and AVI append functions could report "operation completed successfully" rather than the proper error.
   * AVI File Information reported an incorrect preload value for AVIs that started with a video chunk.
   * Capture: Stop conditions were being saved even if Accept was pressed.
   * Capture: Emulation test driver crashed on activation if the last used video file couldn't be found.
   * (AMD64 only) Disassembler was not decoding base registers properly.
   * (AMD64 only) Cropping was incorrect or outright broken with some video filters.

   [regressions fixed]
   * "Split" audio filter was broken.
   * Frameserver exposed too much audio when range to be served was set through range selection, rather than the tail being deleted.

Build 23645 (1.6.10, stable): [August 7, 2005]
   [features added]
   * The Y800 FOURCC has been added as a supported synonym for the monochrome Y8 format.

   [bugs fixed]
   * "Run analysis video pass" now uses the correct priority setting.
   * The ESC key and close button now work in the capture spill drive dialog.
   * Fixed some DV quality issues, including broken DV PAL chroma decoding.
   * Capture: Fixed divide-by-zero crash in DirectShow driver when selecting 8-bit mono formats.
   * Capture: Fixed scrambled audio output when resampling with 8-bit audio formats.

   [regressions fixed]
   * MPEG-1 frame types were being reported improperly. This caused the key-frame-step command to appear not to land on I-frames.
   * Selecting an incompatible audio compression format reported a *de*compression error.

Build 23604 (1.6.9, stable): [July 10, 2005]
   [bugs fixed]
   * Extended workaround for Huffyuv joining problems to capture mode (pre-zeroing format block).
   * Hex editor would warp to a random location when using the mouse wheel for the first time.
   * Currently displayed frame was not updated after a reload (F2).
   * Fixed errors when opening YCbCr (YUV) videos that had nonstandard bit depth or image size values in the frame header.
   * YV16 input is now supported; previously it could be written but not re-read.

   [regressions fixed]
   * Fixed sporadic audio compression errors at end of render.

Build 23567 (1.6.8, stable): [July 3, 2005]
   [bugs fixed]
   * Fixed occasional crash if display panes are refreshed while editing the filter list.
   * Fixed hang if VirtualDub is the active application and attempts to refresh the display panes when a display mode switch occurs.
   * Display panes did not always update properly when seeking if Direct3D mode was enabled and updating the frame took a lot of CPU time.
   * Direct3D display mode could be activated if checked even if the option was grayed due to DirectX support being disabled.
   * Capture: Fixed crash if capture is attempted with audio enabled but audio isn't present or is in an incompatible format.
   * Reversed direction of mouse wheel action to be consistent with Windows.
   * Hex editor's Extract Segment command would sometimes extract the wrong segment due to repainting the main pane during the extract.
   * CLI interface app didn't exit if console was empty prior to invocation due to overzealous Explorer detection. This is now only done if no arguments are supplied.
   * Fixed crash in MPEG-1 parser when encountering a pack with a too-short length, such as zero.
   * Audio codec errors sometimes reported the wrong source of the error (i.e. decompressor vs. compressor).

   [regressions fixed]
   * Pixel shaders were disabled in Direct3D bicubic mode due to debug code mistakenly left in.
   * MRU list sometimes didn't resort properly when reopening a recently opened file.

Build 23538 (1.6.7, experimental): [June 12, 2005]
   [features added]
   * Script: Added support for cast expressions to int/long/double.
   * Video direct-stream path now treats zero-byte (drop) frames as non-essential. A video stream that has been spaced with drop frames to a higher frame rate can now be cleanly converted down as well.

   [bugs fixed]
   * Fixed crash when decoding audio from broken or mismatched DV frame.
   * Hierarchical AVI index blocks were being placed outside of RIFF chunks. No known actual incompatibility cases (yet).
   * Fixed occasional crash when using lowpass or highpass filters with a large tap count.
   * Fixed crash on attempting to abort a render when an error had already occurred.
   * Fixed "cut off audio stream when video stream ends" sometimes being active even after being disabled.
   * Fixed audio stream being shortened slightly when using audio compression.
   * Capture: Fixed crash in volume meter code triggered by load of DLLs that whack the floating-point control word.
   * Capture: Fixed crash on exit in DirectShow layer caused by shutting down COM too early.

   [regressions fixed]
   * Script: Fixed "method not found" errors loading .vcfs caused by failure to convert longs to ints.

Build 23486 (1.6.6, experimental): [May 29, 2005]
   [features added]
   * Added an option in Options > Preferences > AVI to force sector alignment for large uncompressed frames. This can resolve compatibility problems with some uncompressed hardware video playback units.

   [bugs fixed]
   * Capture: Video/audio format and compression and video frame rate now autosave on disconnect.
   * Capture: Fixed some cases where the Raw Audio Format dialog didn't highlight the currently selected PCM format.
   * Capture: Noise reduction threshold was not restored properly.
   * Capture: Renamed Peak Meter back to Volume Meter and restored V accelerator.
   * Frame byte size was being computed improperly for YCbCr AVIs.
   * Fixed broken MJPEG video decoding at bottom-right corner on streams that have restart markers.
   * Reworked MJPEG field ordering detection to be consistent with DirectShow MJPEG decoder. If this is reversed for your files, enable "swap fields" in AVI extended open options.
   * Scene detection was busted for 16-bit RGB (very rare case).
   * Minor status updating features, such as the current position nub moving during input preview, were broken after running a job that ended in an error.
   * (AMD64 only) Scene detection is now implemented.
   * (AMD64 only) Enabled some video filters that had scalar implementations: flipv, fliph, deinterlace, rotate, and HSV.
   * Save Image Sequence dialog didn't show the "add as job" button as checked, even if it was saved as such from the last time.
   * Fixed minor bugs in various image converters and improved accuracy of a few YCbCr-to-RGB converters.
   * Fixed UYVY/YUY2-to-RGB converters not interpolating chroma properly.
   * Fixed YVU9 chroma planes being swapped on write to disk and enabled YVU9 for direct input.

   [regressions fixed]
   * App would sometimes exit after stopping frameserver.
   * Frameserver sent garbage data if the video filter chain changed the frame size.
   * Fixed a regression in video codec negotiation for MS MPEG-4 V3 variants where a different but compatible codec was not properly detected.
   * Doing a paste with no selection caused one frame to be deleted before doing the paste.
   * Write open failures were being reported again when the target file couldn't be opened a second time in fast I/O mode, which happens sometimes with emulators or remote drives. The slower fallback has been reinstated.
   * Running out of disk space at the very end of a render operation was sometimes reported as an I/O error rather than a write error.
   * Sampling in filter preview could fail if the timeline had been edited.

Build 23350 (1.6.5, experimental): [April 4, 2005]
   [features added]
   * Script: Added Sylia.Atoi(), Atol(), and Atod() functions to allow conversions from string to value.
   * Script: Added VirtualDub.Log(string) command to output to log output (or console).
   * Added vdub.exe launcher for basic command-line driven operation.
   * Added multiple undo/redo for timeline edits.
   * Added /? switch to list command-line options.
   * Added support for reading paletted BMPs.
   * Dub input format is now reported in the log.

   [bugs fixed]
   * Script: Binary operators sometimes promoted the wrong way, i.e. double + int -> int.
   * Script: The old form of the Open() command didn't choose the right driver when a specific driver was requested, due to sorting by priority.
   * Script: Fixed random crash when adding video filters after opening a video file.
   * Script: Fixed crash when issuing SaveWAV() command with no audio stream.
   * Capture: Fixed race condition induced random crash when RGB filtering and accelerated preview were both enabled.
   * Capture: Capture stats were not updated while frame dropping was occurring, which sometimes made it hard to diagnose timing problems.
   * Capture: Added adjustable limit on length of burst inserts when timing anomalies occur, to prevent the app from locking permanently on a very bad timing glitch.
   * Capture: Audio device was not auto-saved.
   * Capture: Fixed crash when attempting to capture with an unsupported video format (MPEG-1/2, interleaved DV, etc.).
   * MPEG-1 video decoder occasionally glitched due to a missing end tag.
   * Removed dumb debug code that was causing a "???" message box to appear when unrecognized command-line flags are seen.
   * Fixed display panes not always updating properly.
   * Fixed rare crash if an MPEG-1 open failed extremely early.
   * Fixed cases where the render start/end point wasn't updated properly when a selection bound was used to "push" the other, i.e. "set end" before start, or vice versa.
   * Paste (Ctrl+V) wasn't deleting the current selection before doing the insert.
   * Hex editor: Scroll bar thumb wasn't reset to top when loading a new file.
   * Fixed a bunch of busted paletted converters.
   * Fixed dialogs that had swapped OK/Cancel buttons.
   * Fixed conflicting accelerator for Audio > Conversion menu option.
   * Fast recompress mode now tests source format before UYVY and YUY2.
   * Y8 AVIs weren't accepted even though they could be generated.

   [regressions fixed]
   * Capture: "Hide on capture" now works.
   * Capture: Preview/overlay display commands toggle once again.
   * Priority drop-downs in preferences didn't have vertical scroll bars.
   * Top-down uncompressed RGB AVIs weren't handled properly.
   * Fixed busted non-MMX XRGB1555>XRGB8888 converter.

Build 23174 (1.6.4, experimental): [February 12, 2005]
   [features added]
   * Capture: Added support for detecting and correcting discrepancies in the video time base. This can reduce frame drops if the incoming frame rate is unexpectedly and regularly too high or too low.
   * Capture: Added command-line support.
   * Capture: Timing settings are now saved.
   * Capture: Stop conditions can now be modified during capture.
   * Capture: Luma squish can now be separately enabled for the black and white ends of the luma spectrum.
   * Capture: Luma squish now works with planar YCbCr formats.
   * Capture: Frame timing is now exportable as a comma-separated-value file for analysis.
   * Added an option to reopen the input file while preserving the edit list.

   [workarounds]
   * Added detection of video codecs that improperly modify their input framebuffer during compression.

   [bugs fixed]
   * Capture: Audio devices were appearing on the wrong menu.
   * Capture: Settings dialog sometimes didn't allow OK to be pressed due to validating hidden settings.
   * Capture: Exiting the crop dialog caused device settings to reset.
   * Capture: Fixed time wrap at 35min with the DirectShow driver.
   * Capture: Fixed crash when using filter chains where the input and output of the chain have different frame sizes.
   * Capture: Added workaround for freezing with SAA713x-based capture devices -- the system clock is always used for the reference clock rather than any capture filter clock.
   * Capture: A warning is now appropriately displayed when VirtualDub cannot analyze incoming video (preview acceleration, live filter preview).
   * Fixed massive slowdown in hex editor when scanning RIFF tree for an AVI file with a lot of video frames.
   * Fixed bug with the "last frame" facility in the video filter system that was causing the motion blur filter to fail if it was first and another filter followed it.
   * Fixed intermittent crash under Windows 98 when repainting draggable video frame.
   * Fixed path handling around UNC network shares and Windows 2000/XP volume mount points, which could sometimes result in incorrect 4GB FAT errors.
   * Fixed some cases where the mask/unmask code didn't mask the right frames.
   * PNG decoder failed if the compressed data contained a stored chunk.
   * PNG decoder crashed if an error occurred during decoding.
   * Fixed GDI handle leak.
   * Display panes did not react properly to the mouse cursor when positioned over a secondary monitor with a negative position.

   [regressions fixed]
   * Source Audio had to be selected twice if WAV audio was the previously selected option.
   * Motion JPEG code was crashing instead of throwing errors on unsupported MJPEG formats.
   * Capture: Cropping caused YCbCr formats to vertically flip.
   * Capture: VFW driver was not properly reporting failure when setting unsupported video formats.
   * Capture: "Wait for OK on capture" has been reimplemented.
   * Fixed the prev/next range commands always saying "no prev/next range."

Build 22945 (1.6.3, experimental): [January 11, 2005]
   [features added]
   * Capture: DirectShow driver now supports audio passthrough (Audio > Enable Audio Playback) for devices with integrated audio capture.
   * Capture: DirectShow driver supports capture from sound cards.
   * Capture: Reduced graph rebuilding in DirectShow driver for better performance.
   * Capture: Video/audio source and audio input selection is now supported.
   * Capture: More settings are automatically saved or savable through Device > Device settings.
   * Capture: Noise reduction, field swap, and luma squish can be toggled during capture.
   * Improved asynchronous file write code for better performance and smoother timing in capture.

   [bugs fixed]
   * Capture: Adjusted audio resampling timing for better accuracy.
   * Capture: Fixed intermittent crash when audio resampling rate goes very high.
   * Capture: Fixed erratic resampling and display when capturing with audio compression and with audio peak meter displayed.
   * Capture: VFW driver now suppresses default preview display when display acceleration is active.
   * Capture: Fixed crash when exiting capture mode with video histogram enabled.
   * Capture: DirectShow driver did not stretch display window properly.
   * Capture: DirectShow driver now supports the "set custom format" command.
   * Capture: DirectShow driver now works with stop preferences.
   * Capture: Disabled normal nice-in-background behavior for accelerated display.
   * Capture: Added workaround for process hang with WDM drivers that need their video port pins rendered.
   * Capture: Histogram was broken for UYVY format video.

   [regressions fixed]
   * Fixed crash when decompressing compressed audio with timeline edits.
   * Fixed 'movi' chunk error on append.
   * B-frame support was broken.
   * Fixed crash when adjusting crop parameters for a filter without a video loaded.
   * Fixed some update problems in the clipping control.
   * Capture: Multi-segment capture wasn't working for the third segment and beyond.
   * Capture: Fixed crash when changing video format through capture driver dialog while preview acceleration is active.

Build 22561 (1.6.2, experimental): [December 12, 2004]
   [features added]
   * Capture: Improved Unicode support.
   * Capture: DirectShow video capture support.
   * Capture: Enhanced volume meter.
   * Capture: Alternate audio resampling mode for reduced frame drops when resyncing.
   * Capture: Audio compression now occurs after resampling for better timing.
   * Capture: Stop hotkeys are no longer system global.
   * PNG images are now supported for read.
   * AVI info tags are now supported.

   [bugs fixed]
   * Fixed occasional crash when using DirectX display mode with 8-bit display.
   * Appending type-1 DV AVIs caused the output AVI to have the wrong stream type.
   * Fixed rare junk displays when overlay playback is enabled, caused by selection of overlay formats that the bitmap library cannot support conversions to.
   * Fixed source formatting tags in timeline strings reporting huge frame numbers at the end of the timeline.
   * Fixed garbage when attempting to convert Pal8 to Y8.

   [regressions fixed]
   * Fixed slowdown in shuttle commands.
   * 24-bit video depth settings in configuration files saved from 1.5.x were being imported as 16-bit.
   * Fixed crash when switching to frameserver mode.
   * Fixed crash when attempting to finalize AVI file after a disk full or file size error.
   * Fixed expression evaluation errors in scripting language.
   * Fixed intermitted crash in Preferences dialog related to enable links.
   * Fixed crash when attempting to play 8-bit paletted AVI files.

Build 22022 (1.6.1, experimental): [November 3, 2004]
   [features added]
   * Rewrote command line parsing so that arguments to /s, /p, and /b no longer require the parameters to be adjacent to the switch.
   * New /i (invoke) command line flag runs a script and passes additional parameters to it, which are available as VirtualDub.params[n].
   * Unescaped, native-coded strings can now be embedded in a script using U"..." syntax. In particular, this allows filenames to be inserted directly from a batch file.
   * The Abort button on the dub status dialog now confirms by default for non-preview operations; this can be disabled in Preferences.

   [bugs fixed]
   * "AVIFile compatibility mode" no longer needs to be manually checked in extended AVI options when opening Avisynth scripts.
   * JPEG output mode now properly checks that the output format is set to 16-bit, 24-bit, or 32-bit RGB.
   * Fixed incompatibilities with some custom UI shells that subclass application windows.
   * DV audio settings are now derived from the first frame rather than the header, which is sometimes incorrect.
   * Fixed crash when attempting to append or check info on a DV type-1 AVI file.
   * Removed prototype "triangular resize" filter.
   * Jump To Frame dialog now takes source rate adjustments into account.
   * Fixed some errant cases of "invalid handle" errors when files could not be found.
   * Fixed decoding errors when rendering from an image sequence and the timeline format was customized to have frame byte size information.
   * Image sequences didn't load properly if the numeric part of the filename was too large (>2^31).
   * (AMD64 only) Fixed incorrect RGB888-to-XRGB1555 conversion.
   * (AMD64 only) Fixed crash when loading scripts with filters that had more than one configuration parameter.

   [regressions fixed]
   * Fix for timeline sometimes getting trashed after starting the frame server.
   * Fix for erroneous first frame if first frame is displayed when starting Direct-mode render.
   * Fix for bad parameters being sent down to video codec if codec's native decompression format is paletted or no compatible RGB format is supported.
   * Preference settings common to 1.5.10 or earlier weren't saving properly in the Registry.
   * Wave sources weren't taking effect immediately.
   * Fixed crash on filter crop set script commands.
   * Added the selection start/end markers to the new timeline control (sheesh).
   * Fixed volume setting warping when saving job entries.

Build 21540 (1.6.0, experimental): [September 7, 2004]
   [features added]
   * Native AMD64 build (see Release Notes for restrictions).
   * New "perspective" video filter can deproject subimages that are displayed obliquely in a scene.
   * YUV formats can now be directly selected for decompression and compression.
   * Planar YUV formats are now supported for both display and output.
   * Added preliminary DirectX 9 (D3D9) display driver support, with support for filter mode selection and multipass bicubic filtering. This driver must be manually enabled in Preferences.
   * Added OpenGL display driver, with support for filter mode selection. This driver must be manually enabled in Preferences.
   * Frame seeking is now incremental so that extremely long frame distances between key frames no longer hang the app during the preload.
   * Added support for the PRELOAD flag on video decompression to speed up seeking.
   * New position slider that displays frame number markers and supports mouse wheel scrolling beyond 32K.
   * Fast recompress format is reported in log.
   * Basic movement keyboard shortcuts now work in filter preview.
   * JPEG image sequence input and output is now supported.
   * Single images can be opened as video files.
   * Integrated DV video decoder.
   * Audio is now decoded from type-1 DV files.
   * Audio filter dialog now has a position control to allow previewing at arbitrary points.
   * The frame indicator in the timeline control can now be customized via Preferences/Timeline.

   [optimizations]
   * Major optimizations to Resize video filter.
   * SSE2-optimized IDCT kernel.

   [workarounds]
   * Added workaround for codecs that pass decode queries for formats they can't actually decode. VirtualDub will only use these codecs to decode formats with FOURCCs that the codec is registered with, or that the codec naturally produces.
   * Improved workaround for codecs that unmask FPU exceptions in their DLL initialization, particularly FP Divide by Zero (which can cause other codecs to crash).

   [bugs fixed]
   * Expanded a number of internal variables to 64-bit to reduce problems with long streams that have more than 2^31 bytes or samples.
   * Fixed crash when opening file for first time with output pane disabled.
   * Fixed crash when displaying odd-width 16-bit video on a 32-bit display.
   * Corrected asymmetry in response of TV filter in 5x5 chroma blur + tsoften mode.
   * A low frame rate video with no audio could cause the blitter thread to consume 100%% CPU at high priority, virtually locking the system.
   * Enabling error concealment prevented the bad video frame scan from working.
   * Fixed crash when changing priority in the middle of render termination.
   * Fixed 3072 sample delay in "center cut" audio filter.
   * Aggressive AVI recovery was very slow when processing large blocks of invalid data, such as 8MB of nulls.
   * Fixed leak of handles in frameclient driver that was causing Windows XP Explorer to keep AVI files open frameclient proxy mode was enabled.
   * Jobs using WAV file audio didn't close the WAV file after completion, keeping it locked across subsequent jobs.
   * Appended file lists were being written out in job scripts in ANSI rather than UTF-8, causing problems with high-plane characters.
   * Audio information in File Information wasn't taking all samples into account.
   * Long paths in the most recently used (MRU) list now ellipsize.
   * Lowered priority of livelock messages to Info so they don't flag as warnings in the job queue.
   * Fixed race condition that sometimes resulted in final B frames not being flushed completely.
   * "Butterfly" audio filter didn't work with 8-bit audio.
   * Unbuffered I/O is now disabled on non-hard-disk paths for better efficiency on slow links, particularly over networks.
   * Frameserver paths longer than 64 bytes prevented the frameclient from connecting properly.
   * Improved input validation on frame rate entry fields to catch period/comma mixups.

Build 18160 (1.5.10, stable):    [December 2, 2003]
   [features added]
   * Removed "accept partial streams" from MPEG-1 options
     and made it enabled by default; added warning.
   * Filters are now notified whether a render is for
     preview or output purposes.

   [bugs fixed]
   * Fixed a stall condition at end of render when advanced
     audio pipeline is active.
   * Fixed "frame not found" errors when processing
     truncated MPEG-1 streams.
   * BMP reader can now handle BITMAPCOREHEADER type
     headers (fixes incompatibility with ZSNES
     screenshots).

   [regressions fixed]
   * Fixed instability in application when parsing VideoCD
     streams.
   * Fixed crash on exit on Windows 9x systems.
   * Fixed visual errors in input pane when decoding
     Microsoft Video 1 to a 565 16-bit display.

Build 18121 (1.5.9, stable):   [November 9, 2003]
   [features added]
   * Made 'autodetect additional segments by filename'
     option sticky.
   * Removed trackbar ticks when ticks are a solid bar
     to speed up edits on very long timelines.
   * Added option to disable use of DirectX in video
     displays under Preferences/Display.

   [bugs fixed]
   * Fixed odd lock-to-keyframe behavior with edit lists
     that have out of order segments.
   * Fixed move-to-next-keyframe command at end of time-
     line.
   * Fixed decompression of 1-bit and 4-bit uncompressed
     AVI files under Windows 95/98.
   * Audio compression dialog showed the wrong set of
     valid formats if a precision was selected under
     Audio Conversion.
   * The current edit list is no longer applied to batch
     jobs created from entire directories.

   [regressions fixed]
   * Fixed display crashes with odd-width images.
   * Segment loading wasn't hopping across drives to pick
     up segments from a multisegment capture, as directed
     by the AVI's segment hint block.

Build 18068 (1.5.8, stable):   [November 3, 2003]
   [features added]
   * DirectDraw support is disabled when Terminal Services
     or Remote Desktop clients are detected to work around
     a DirectX clipping bug.
   * Re-enabled places bar on open and save dialogs.
   * Disabled FPU state warning and made the fixup silent.
     WAY too many drivers are screwing up the FPU unit.
   * Edit lists can now be omitted from configuration
     files without needing to close the source file.

   [bugs fixed]
   * Main window is disabled during MPEG-1 scan to prevent
     crash if main window is closed.
   * Previous-key and next-key movement commands were not
     correct for B-frames in an MPEG-1 file.
   * Fixed decoding of MPEG-1 B-frames at the start of
     GOPs with broken_link set.
   * Palette change blocks no longer appear as garbage
     video streams.  In-stream palette changes are still
     not supported, however.
   * biSizeImage was incorrect when using fast recompress
     in YV12 mode.
   * Sequence appends failing on the first file now throw
     an error rather than a warning.

   [regressions fixed]
   * A race condition in the fast write code occasionally
     resulted in spurious write errors.
   * Fixed swapped 00db/00dc tags in AVI output.
   * Fixed display of 8-bit paletted video.
   * Program starts under Windows 95 again.

Current build (1.5.8, experimental):
   [features added]
   * Rudimentary support for IFF ANIM format.

Current build (1.5.7, stable):    [October 20, 2003]
   [bugs fixed]
   * Quick preview didn't work if the current position was
     past the number of source frames, even if the timeline
     was longer than that.
   * Added FPU guards that were missing in a couple of
     critical places (AVIFile open, codec negotation).
   * The timeline wasn't properly extended if segments were
     auto-attached by filename after edits had been made.
   * Configuration scripts saved when no file is open
     no longer alter the edit list when loaded.
   * Jobs launched from the command line used the normal
     error modes rather than those set as default by the
     user.

   [regressions fixed]
   * Filter preview buttons weren't updating the frame.
   * Save Image Sequence command would randomly produce
     an unrequested job instead of initiating the render
     directly.
   * Append AVI function was incrementing the filename
     extension instead of the name component.
   * Avisynth scripts smaller than 60 bytes weren't being
     autodetected properly.
   * MP3 audio streams were getting written with
     dwLength=0 if correction was enabled.
   * MPEG decoder occasionally decoded garbage into the
     video frame, resulting in sporadic block errors
     during processing.

Build 17971 (1.5.6, stable):      [October 10, 2003]
   [features added]
   * Added support for YV12 during fast recompress.
   * Input video is now displayed during fast recompress
     for UYVY and YUY2 modes.
   * Video display updates are now suppressed for panes
     that are totally hidden.

   [bugs fixed]
   * MP3 rate correction was correcting dwRate but not
     interleaving, causing some problems for embedded
     decoders.  The interleaving rate is now adjusted
     on the fly.  Note that MP3 correction is still not
     enabled when segmentation is active.
   * Time base for the position control was improperly
     affected by the "convert to fps" option.
   * "Box blur" filter was broken on CPUs without MMX.
     (Dumb compiler bugs....)

   [regressions fixed]
   * Menu cleanup: removed synchronous blit and histogram,
     fixed vertical layout and pane swap.
   * Fixed crash when loading some job configurations from
     1.5.4 and below.
   * Fixed audio displacement not working in simple audio
     pipeline with forward offset.
   * Adjusted Z-order of status bar relative to panes.
   * MPEG-1 decoding was broken on platforms with MMX
     but without SSE2.
   * Plugin code could crash if no plugins were installed,
     particularly under Windows NT 4.0.
   * Video codec code occasionally named the wrong codec
     when reporting video format corruption during codec
     arbitration.
   * Corrected DCT coefficient pruning in MJPEG decoder.
   * Fixed crash when WAV open fails.
   * Delete was producing invalid subsets in some cases.

Build 17881 (1.5.5, experimental):    [October 1, 2003]
   [features added]
   * Partial Unicode support -- you can now open and save
     files using Unicode filenames.
   * "Chroma smoother" video filter refilters point-sampled
     chroma with linear interpolation.
   * Single-stream cut & paste.  (Be patient....)
   * Improved performance of AVI parser, particularly for
     Direct mode streaming.
   * Improved performance of bicubic upsampler.
   * Audio filter graph now shows intermediate audio
     formats on connections.
   * Audio filters can now be plugins.
   * New MPEG-1 video core (Meia) -- full vertical
     clipping.  Horizontal clipping is still by macroblock.
   * Rewrote display code -- DirectDraw support is now
     automatic.
   * Log windows now have a context menu for clearing,
     copying, and saving the log text.
   * Modified AVI2 indexing to relax indexing restrictions
     somewhat, although it's still not user configurable
     yet.

   [bugs fixed]
   * Hex editor occasionally displayed the wrong data after
     a find or save command.
   * "Attach extension" option didn't work for signpost
     save dialog.
   * Fixed crash when I/O errors occur during a processing
     operation, and then occur again when attempting to
     gracefully finalize the partial output file.
   * "Clear" didn't work in audio filter graph.
   * Fixed I/O errors when attempting to push audio forward
     with advanced audio filtering enabled.
   * "Go to" command didn't handle timestamps with frac-
     tional seconds that only had 1 or 2 decimal digits.
   * "General convolution" generated bad code for factors
     of 2, 4, and 8 when dynamic compilation was enabled.
   * Interleave periods of zero are no longer allowed.
   * Added workaround for crash or hang when compressing
     with the "3ivx D4 4.0.4" video codec.
   * Fixed non-interleaved save mode and made it cooperate
     with segmentation.
   * Added workaround for heap corruption when processing
     audio in advanced mode sourced from some versions of
     Avisynth.
   * Clarified DivX warning to note that it doesn't apply
     to the DivX 4+ codecs.
   * Fixed filter cropping not working properly when
     "motion blur" was the first filter in the chain.

Build 16296 (Version 1.5.4):          [May 28, 2003]
   [features added]
   * Added workaround for infinite B-frame delay
     interaction with DivX 5.0.5 Pro.
   * File information for AVI files now shows estimated
     bitrate.

   [bugs fixed]
   * Fixed race condition in processing pipeline shutdown
     that was more likely to occur in Windows 95/98.
   * Key frame markers were getting written on some drop
     frames when upsampling the video stream.
   * MPEG code was issuing warnings whenever decode time-
     stamps were more than 0.62s apart; this has been
     fixed to use the actual spec limit of 0.7s.
   * Operation couldn't be aborted while B-frame lag
     frames were being flushed at the end.
   * Fixed a bad error message that displayed a bogus
     filename.

Build 16250 (Version 1.5.3):          [May 19, 2003]
   [features added]
   * Added preview input/output commands to menu and
     accelerator tables.
   * Program close allowed during a preview operation.

   [changes]
   * Tweaked job control behavior for jobs that complete
     with warnings, to be a bit more intuitive.

   [bugs fixed]
   * Frame marking didn't always mark the correct range and
     could cause "Scan for bad frames" to fail.
   * Fixed invalid batch scripts produced when video codec
     has a config struct larger than ~6K (Windows Media 9
     VCM).
   * Status markers were being logged as warnings in jobs.
   * Conversion to a higher frame rate produced amusing
     results in Direct video mode.  It now produces source
     frames interspersed with drop frames for nearly zero-
     cost point upsampling of video.
   * Dubber pretended there was a input-to-output lag if
     such filters existed in the video chain (temporal
     smoother), even if the filters weren't active.  This
     resulting in duplicated frames (fast/normal) or
     erroneous zero-byte keyframes (direct) at the end of
     the output.
   * Arbitrary framerate conversion option wasn't disabled
     in the UI when IVTC was enabled (the two are mutually
     exclusive).
   * Edit point seeks (<, >) didn't update the frame
     windows.

   [regression bugs fixed]
   * Fixed pipeline not getting flushed at end of
     operation, resulting in some frames getting lost.
   * Fixed subset code pulling in wrong frames in direct
     mode.
   * Interleaving values were inverted and thus always
     forced one-per-frame.
   * Position slider wasn't updating properly around cuts.

Build 16188 (Version 1.5.2):          [April 30, 2003]
   [features added]
   * Converted help from WinHelp to HTML and updated dialog
     help to current feature set.
   * Added frame rate conversion to arbitrary frame rates.
   * Added logging to report non-fatal warnings during
     operations.
   * MPEG parser detects and reports timestamp
     discontinuities.
   * Added limited error concealment capabilities to input
     handlers.
   * Optimized audio filters a bit and added tap count
     control for lowpass, highpass, and resampling filters.
   * Added "new rate" audio filter to relabel an audio
     stream with a new sampling rate without resampling.
   * Incomplete audio format headers that are rejected by
     ACM MP3 codecs are automatically fixed with the
     required fields (the infamous "tag 0055" problem).
   * Added workaround for AVI1 files with MP3 audio being
     detected as MP3 files by Windows Media Player 8.

   [features removed]
   * Removed coach dialogs.  Not helpful enough and too
     outdated to maintain.

   [bug fixes]
   * Fixed capture free space indicator being limited to 4GB
     under Windows 98 (regression in 1.5 series).
   * Fixed crash when job queue could not be flushed to
     disk.
   * VDFs that contained multiple filters were only showing
     the last filter in the library (regression in 1.5
     series).
   * Fixed crash when attempting to direct copy a video
     stream with an abnormally large BITMAPINFOHEADER (>16K).
     Added code to detect and correct such mistakes.
   * Fixed hang in audio filter graph editor when placing
     output filter with autoconnect on and no place for it
     to attach.
   * Fixed livelock at end of operation when lowpass/
     highpass audio filters were in use.
   * Fixed internal error when attempting to start an
     incomplete audio filter graph (unconnected pins).
   * Fixed garbage wLanguage/wPriority values being written
     to audio AVI track headers when converting an MPEG-1
     file.
   * Fixed crash when attempting to load an AVI stream with
     an invalid sample rate (zero or infinite).  Added code
     to guess and substitute a reasonable value.
   * Fixed small memory leak in "smoother" video filter.

Build 15654 (Version 1.5.1):          [February 22, 2003]
   [features added]
   * Improved audio filter dialog.
   * Added "split" and "mix" audio filters.
   * Capture mode: Added menu item to launch Windows Volume
     Control in Recording mode.
   * Save Segmented AVI now attempts to cut before keyframes
     when the video mode is set to "direct copy."

   [bug fixes]
   * "Change so durations match" frame rate option was using
     microsecond periods as frame rates.
   * Fixed random crash when selecting menu option with no
     video file loaded.
   * Fixed broken free space gauge in capture mode.
   * Fixed trashed filenames when attempting to set capture
     file.
   * Save Segmented AVI was using one digit instead of two
     for the segment number.
   * Video capture without an audio device now works.
   * Audio compression dialog no longer shows incompatible
     compression formats when it first appears.
   * Added workaround for "shutdown when finished" job
     control option to work under Windows 98.
   * Assignments to string variables now work in scripts.

Build 15584 (Version 1.5.0):          [February 16, 2003]
   [features added]
   * Can add a single job to the batch list with syntax:
        /p[input_file],[output_file]
   * Filters are now loaded and unloaded on the fly to
     circumvent TLS (thread local storage) selector limits.
   * Cropping bounds can now be dragged via the mouse.
   * Improved, friendlier crash diagnostics.
   * Basic audio filter support (no plugin support yet,
     though).  The pitch shifter sucks.
   * Increased accuracy of audio/video timing by switching
     from microsecond to rational calculations.
   * Changed font on dialogs to enable ClearType on XP.

   [features removed]
   * Deleted outdated 3x3 average filter -- it has been
     superceded by "blur."

   [bug fixes]
   * New MPEG audio core (Priss) -- fixes decoding errors
     in layer I and layer III audio and adds SSE polyphase
     support.
   * Fixed motion JPEG decoding bugs when padding is
     present before markers.
   * Fixed crash in SSE2 code when decoding MPEG-1 file
     odd width in macroblocks.
   * Fixed crash in SSE2 resize routine when doing 4-tap
     vertical resample with odd width.
   * Fixed swapped UVs in About dialog box. ^^;
   * Fixed sync errors in MPEG-1 playback when decoding
     an audio stream which flips the copyright bit between
     frames or switches layer III bitrates (VBR).
   * Fixed "Frame not found" errors in MPEG-1 decoder when
     GOP is longer than 128 frames.
   * Rewrote resampler clip determination code again.
     Hopefully this one will be Bug Free (tm).
   * Fixed spurious errors at end of operation when saving
     WAV file.
   * Outputted configuration files and job scripts now
     include the correct audio filename when a .wav file is
     selected through a script.
   * Fixed AVI segmented output creating short files when
     working from MPEG-1 source or when IVTC is active.
   * Image import filter wasn't caching frames.
   * Fixed a couple of Get*() script calls that were declared
     incorrectly internally and didn't work (thanks to
     Cyrius).
   * Blur filter now handles cropping properly.

Build 14328 (Version 1.4.13):          [November 29, 2002]
   [features added]
   * Added frequently-requested Lanzcos3 kernel to resize
     filter. Can't see any difference whatsoever.

   [bug fixes]
   * Fixed nasty resize filter bug and RGB24<->RGB32
     conversion errors on odd bitmap widths.
     (Regressions in 1.4.12)
   * Fixed audio desynchronization when processing
     compressed audio in direct stream copy mode with both
     a start offset and deleted segments.  Thanks to Cyrius
     for the bug report and fix.
   * Audio compression system now drops a final partial
     block from an audio codec -- Microsoft ADPCM was
     producing these, resulting in a runt AVI stream
     sample. The new behavior matches that of Sound
     Recorder.
   * A partial final block no longer triggers the VBR audio
     adjustment routine.
   * "Previous keyframe" from beyond the end no longer
     seeks to start if frames have been deleted or masked.
     Also thanks to Cyrius.
   * Fixed crash in MPEG-1 decoder when playing or saving a
     video stream with D-frames or invalid frame types.
   * B-frame audio skew support is now also enabled for the
     'XVID' video format.

Build 14303 (Version 1.4.12):          [November 23, 2002]
   [features added]
   * Parts of the MPEG-1 decoder, some color conversion
     functions, and parts of the resize filter have been
     optimized for SSE2 (Pentium 4).
     
   [bug fixes]
   * Fixed intermittent deadlock during playback caused
     by non-atomic thread synchronization. This affects
     SMP systems as well as CPUs with HyperThreading
     Technology.
   * Fixed Save Image Sequence regression in 1.4.11 that
     caused the directory portion of the dialog to be
     ignored.
   * Fixed broken copyProc support.

Build 14279 (Version 1.4.11):          [October 31, 2002]
   [features added]
   * Added support for reading and writing TARGA (.tga)
     sequences, with optional RLE compression.
   * Added simple logo filter.
   * Added (not-quite-optimized) HSV filter.
   * The "Save Image Sequence" command is now batchable
     and scriptable.

   [bug fixes]
   * Fixed OpenDML files having bad duration values in
     their index if video frames weren't all the same
     size.
   * Fixed some subset-related position slider glitches.
   * RLE AVI files weren't being decompressed correctly
     (GDI's RLE isn't the same as AVI's RLE).
   * Fixed crash disassembler not disassembling some
     instructions properly.
   * Fixed glitches in the first three frames of the
     temporal smoother's output.
   * Fix for some MPEG rounding errors (arrgh).
   * AVI parser now accepts and reindexes LIST/movi chunks
     with 0 sizes.
   * AVI parser no longer drops stream 0 samples at the
     start of a file when reindexing.
   * AVI video reader detects and flips inverted RGB DIBs.
   * Fixed 1/16th darkened line on left side of "blur more"
     filter.
   * Added support for properly cloned filter data
     structures.
   * Allowed position control font to enlarge slightly
     according to screen dpi and fixed font leak.
   * Fixed MIME BASE64 encoding errors at end of codec
     configuration blocks that probably caused some codec
     crashes or configuration funniness.
   * Calls to video codecs now eat MMX errors rather than
     reporting them, to workaround a bug in the MSMPEG4V3
     codec that will probably never be fixed.
   * WAV writer now writes out the required 'fact' chunk
     for compressed WAVs.
   * Filter preview dialog now sanely reports errors in a
     non-ugly font.

Build 13870 (Version 1.4.10):
   [features added]
   * Capture mode can now apply filters against I420/IYUV
     video.
   * Capture: "Start on click" added.
   * Capture: File autoincrement added.
   * Crash disassembler has now been totally rewritten;
     now supports all IA-32 instructions through Pentium 4
     and Athlon.
   * Special support added for DivX 5.x B-frame mode.
     NOTE: Interleaving may be a little funny.

   [bugs fixed]
   * Volume adjustments were active during input preview.
   * dwSampleSize was being copied from source video
     streams even if it was incorrect.
   * AVI2 output code was crashing if the source video
     stream dwSampleSize!=0 and no audio was attached.
   * Confirmation dialog for "Reset video stream" didn't
     have a cancel button. ^^;;
   * Several places were using signed division for frame
     rate fractions -- fixes "can't initialize timer"
     errors.

Build 13720 (Version 1.4.9):
   [features added]
   * Capture: Added wraparound workaround for 2^31 us (35m)
     wrap as well as 2^32 us (71m) timing wrap.
   * Added more verbose error messages.
   * Added some PIII instructions to crash disassembler.

   [bug fixes]
   * Fixed scanline alignment and invalid format errors in
     image source reader.
   * Fixed Ctrl-W shortcut for "Close AVI."
   * Fixed title bar not being correct after exiting capture
     mode [regression in 1.4.8].
   * Temporal smoother now initializes its window from the
     first frame it receives rather than to black.
   * IVTC no longer drops last 8 or so frames when no audio
     is present.
   * Fixed deadlock on MP3 audio codecs that report a codec
     delay of 0 (LameACM).
   * Fixed sfence-related crash and decompression errors
     in MJPEG decoder [regression in 1.4.8].
   * Fast recompress no longer aligns frame subsets to
     keyframe boundaries.
   * "Scan for bad frames" would sometimes not mark the
     correct frames.
   * Scene scan sometimes wouldn't display the frame it had
     stopped on.
   * Fixed line of green pixels on right side of frame when
     using 3x3 TV filter.

Build 13719 (Version 1.4.8):
   [features added]
   * Motion JPEG decoder has improved heuristics for field
     order determination, support for restart markers, and
     supports 4:4:4 as well as 4:2:0 and standard 4:2:2.
   * An error is now thrown if a third-party driver leaves
     the CPU in MMX state when returning, which previously
     could cause floating-point code to malfunction.
   * Added workaround for ASUS ASV1 driver crashing under
     Windows NT platforms.
   * MPEG-1 files with small amounts of junk at the
     beginning are now recognized.
   * BMP image sequences can now be loaded as well as saved.
   * Frame rate changes are reflected in the timestamp
     panel.
   * Hex Editor no longer locks files and can highlight
     important fields in AVI files.
   * Capture: Luma squish now supports UYVY in addition to
     YUY2.
   * AVI handler can now recover OpenDML segments from
     truncated files and has more aggressive recovery
     methods.
   * AVI handler recognizes 'bt20' as a format that does not
     have delta frames.
   * Added workaround for audio sync problems caused by
     malformed AVI files with VBR MP3 audio.
   * Support for masking video frames and for autoscanning
     the video stream for bad frames to mask.

   [bug fixes]
   * No more crashing when attempting to do certain kinds
     of seeks with no video loaded.
   * Capture: Noise reduction works properly with cropping.
   * Fixed MPEG-1 frame order bug in frameserver that was
     also introduced in 1.4.6.
   * Fixed MPEG-to-AVI conversion resulting in trashed
     wPriority and wLanguage fields in the stream header.
   * Capture: Under Windows 98/2000, monitor and system
     power down are inhibited in capture mode.
   * Fixed scripts and job entries being trashed when the
     generated script exceeds 16K.
   * Fixed codec issues caused by script system not handling
     long strings produced from codec data.  Thanks to the
     DivX 4 team for reporting this one.
   * IVTC no longer causes bitrates for CBR video codecs
     to drop by 20%%.
   * Fixed output files being generated with type 'ivas'
     when the source was a type-1 DV file.
   * Fixed diagonal stripe or crash with MMX version of
     Levels filter when input bitmap is an odd width.
   * Fixed AVI streaming routines going off the deep end
     when encountering garbage data in the AVI stream.
   * Fixed occasional corrupted frames when playing back
     AVI with "drop frames when behind" enabled.
   * IVTC now forces interleaving on a 4-frame basis like
     it's supposed to.
   * The audio compression dialog was passing bad precision
     values to audio codecs and only querying for real-time
     compression.
   * Corrected crashes or errors on uncompressed video
     streams that have a zero or incorrect biSizeImage field.
   * Capture: Multisegment and info panel settings saved
     correctly.
   * Capture: Compatibility mode capture prohibited when
     multisegment capture enabled.

Build 13130 (Version 1.4.7):
   [bug fixes]
   * Fixed MAJOR bug in MPEG-1 decoder that I introduced
     in V1.4.6 that caused I and P frames to decode
     improperly during a preview/save.
   * Corrected typos and resetting of "rounded" option in
     emboss filter (thanks to Donald Graft).

Build 13110 (Version 1.4.6):
   [features added]
   * Enhanced error concealment in MPEG-1 video decoder
     to reduce picture spew on errors (NOT THE PARSER).
   * "Drop frames when behind" can now drop frames before
     the decoder.  This helps with Huffyuv playback.
   * Capture-mode noise reduction now works with UYVY
     video as well.

   [bug fixes]
   * Fixed that blasted Audio Interleaving bug I introduced
     in V1.4.5.
   * Added sample skip support for audio converter and
     amplifier filters, to prevent long delays when using
     subsets with them.
   * 'Save WAV' now truncates the file if the file you're
     saving over is bigger than the new data it's being
     replaced with.
   * Fixed frame output display not updating when attempting
     to display same frame after changing filters.
   * Fixed audio interleaving dropping out after a preview.
   * Read errors no longer appear interactively, blocking
     batch operations.
   * Attempting to shift in capture mode from 'preview with
     histogram' to overlay mode no longer switches to
     preview mode instead.
   * Fixed problem with hardware accelerated preview in
     capture mode with some ATI video cards.
   * No more of "1057%% complete" in Job Control.
   * Changed some of the more embarrassingly bad error
     messages.

Build 12903 (Version 1.4.5):
   [features added]
   * Added DIV5 as yet another MS MPEG-4 V3 hack.
   * Experimental support for hardware UYVY/YUY2 hardware
     overlay when Preview display mode is used in capture.
   * The BT8x8 tweaker is now modeless and periodically
     reasserts your settings as long as it is up.
   * Added workaround for a buffer overflow problem in
     Huffyuv.
   * Fast recompress now works even if no decompressor
     is present (i.e. YUY2 -> MJPG).
   * Added workaround for broken AVI files with negative
     chunk sizes in the AVI header block.
   * New filter: field bob.

   [bug fixes]
   * Fixed menu problems under 95/NT.
   * Recompressed executable with newer version of UPX
     -- should fix NAV problems.
   * Added short-circuit code for AVI parser to avoid
     bombing on crud at end of some files.
   * Fixed broken 16-bit mono to 16-bit stereo
     conversion.
   * Filters are no longer reset when scrolling via
     keyboard shortcuts (Jason Haitsuka).
   * Levels filter now saves Y/RGB setting properly.
   * Fixed capture window vanishing with "stretch to
     window" set and "info panel" unchecked.
   * Fixed some problems with the hex editor.
   * Fixed the cropping dialog from coming up with
     the post-crop size.
   * Changed histogram in Levels filter to use luma
     instead of RGB, and removed bilinear filtering.
   * Video timing is now propagated properly through
     lagged filters (temporal smoother).
   * Script variables may now have numbers in their
     names.
   * No longer crashes if you specify a path without a
     filename on the command line.

Build 12667 (Version 1.4d):
   [features added]
   * Added HFYU (Huffyuv) to list of codecs that do not
     have delta frames.
   * Added code to prevent AngelPotion from improperly
     accepting all formats for which there is no valid
     codec in the system.
   * You can now tweak some choice BT848/878 registers
     (i.e. full luma range!!) if you copy the dTV drivers
     into the VirtualDub program directory.
   * Hex viewer now has limited editing capability.
   * Added option to squish luma range for YUY2 captures
     on the fly to alleviate "white out" problems.
   * Filters can now lag behind, like IVTC.
   * Resize filter now supports interlaced resampling.
   * You can now also select one channel rather than
     mix both channels when converting stereo to mono.
   * Frameserver mode hides the main window now.
   * One word: amplify.
   * Avisynth 1.0b+ errors are detected as errors, so
     VirtualDub won't produce processed errors anymore.
   * Type-1 DV files are supported.  VIDEO ONLY!
   * New "temporal smoother" filter.
   * Some more keyboard shortcuts added, and tooltips
     for the main screen for all you wimps. :)
   * Alt-Left and Alt-Right scan by 50 frames, and the
     default step value for paging in the position
     trackbar is also now 50 frames instead of two
     inches.
   * Additional values and methods are exported to
     scripts.
   * Preview mode can now do interlaced display as well
     as progressive display.  (Requires very fast CPU!)

   [bug fixes]
   * Fixed problem where capture mode wasn't adequately
     correcting for sound card error.
   * Audio section of File Information no longer counts
     up indefinitely on Avisynth scripts.
   * Avisynth scripts shorter than 12 bytes can be
     opened.
   * Spill drive thresholds are properly treated as
     megabytes and not kilobytes.
   * Fixed a couple of issues in the crash handler that
     were causing useless double-crash dumps.
   * Fixed dwSampleSize=0 incompatibility with audio
     streams from Canopus utilities.
   * Hex viewer now works in Windows 95.
   * Rekey warning no longer appears in batch mode.
   * IVTC settings are now saved properly in scripts.
   * Added workaround for codecs that crash on zero byte
     frames (ASV1, VCR2).
   * Filter crop dialog now shows the right size input
     frame (the image is still approximated, however).
   * Added checking for uncompressed frames to avoid
     crashing on short frames.
   * "Rekeying not specified" warning no longer appears
     for video formats known to have no keyframes.
   * Fixed 24-bit MMX YUY2-to-RGB conversion.
   * Subpixel accuracy problems and the occasional line
     of garbage on the right border from the resize filter
     have been fixed.
   * MRU list is no longer case sensitive.
   * Fixed precision issue when doing high upsampling,
     such as 8KHz to 44KHz.
   * Fixed video codec handle leak in video compression
     dialog.
   * Loading an OpenDML segment no longer keeps legacy
     files from appending after it.
   * Fixed crash during multisegment video capture under
     high CPU load.
   * Added workaround for disk drivers that do not support
     unbuffered I/O.
   * MJPEG split was causing some crashes if you sourced
     a multisegment AVI clip.
   * AVI output function wasn't padding frames to quadword
     boundaries properly in capture mode.
   * Hex viewer (editor) no longer locks files.

Build 11759 (Version 1.4c):
   [features added]
   * New filter: box blur.
   * Levels filter can now work in YCC space to avoid
     altering saturation.
   * Interface notifies you when multiple input files have
     been loaded.
   * "Add filename extension" is now on by default (this
     won't change anything for those who already saved
     their settings in Preferences).
   * Added workaround for broken DivX audio hacked codec
     which comes up with no name above the PCM codec in
     the audio codec list.
   * Added check and warning for DivX drivers.
   * VirtualDub now warns and deletes multisegment files
     already on disk on a save, preventing old and new
     saves from mixing.

   [bug fixes]
   * Lengthened some job system buffers to handle long
     filename issues.
   * Levels control now sets the cursor -- no more I-beam
     when trying to change input levels.
   * Fixed a problem which caused multisegment saves with
     video compression to break.
   * MPEG layer III correction is now disabled on multi-
     segment saves to avoid errors on join.
   * Fixed interleaving when saving a file with IVTC
     enabled and audio interleaving in per-ms mode.
   * Job system no longer writes out filenames as all
     C-escapes.
   * Fixed the noise reduction in capture mode, AGAIN,
     since I brought the old code into 1.4b by mistake.
   * Fixed a potential crash with the levels filter.
   * Fixed "copy output frame" command when an in-place
     filter with clipping is last in the filter list.
   * Fixed a nasty frameserver bug that caused crashes on
     certain audio reads.

Build 11636 (Version 1.4b):
   [bug fixes]
   * Fixed a critical problem which caused multisegment
     joins to corrupt data on read, leading to -100 errors
     or corrupted output files.  (Thanks to Alan
     Cuthberson)
   * Reverted to old video capture synchronization system
     (thanks to all of you who moaned and bitched ;-)

Build 11617 (Version 1.4a):
   [features added]
   * Trying an alternate capture audio synchronization
     method.  Let me know how it works.  Hopefully, it'll
     drop fewer frames.
   * Added ATI 'VYUY' as a synonym for YUY2 in capture
     mode.

   [bug fixes]
   * Fixed stupid video rate dialog bug that always forces
     the video frame rate mode to 'correct'.  (Thanks to
     'MsManiac')
   * Fixed internal MJPEG driver not being able to open
     anything.
   * Fixed noise reduction in capture mode (thanks to Eric
     Warnke).

Build 11583 (Version 1.4):
   [features added]
   * Hold down SHIFT when scanning through frames to snap
     to the nearest keyframe.  Necessary for MPEG-4.
   * Avisynth scripts are now detected as AVI files and
     automatically opened using the AVIFile system.
   * Frameserver: AVIFile frameclient now supports proxying
     Avisynth scripts as .AVI, if they begin with
     "#avisynth".
   * Added workaround for 71-minute capture problem that
     affects V2.3 of the Hauppauge capture driver.
   * Added limited read-only support for Matrox MPEG-2
     OpenDML format.
   * "Show Decompressed Output" is now disabled by default
     since it impacts compression speed.
   * VirtualDub now parses and decodes MPEG-1 layer I
     audio.
   * Frameserver now supports frame deletes.
   * Enhanced IVTC algorithm, thanks to Samuel Audet.
   * Special IVTC algorithm to recover progressive frames
     from deinterlaced source.
   * The video format and handler FOURCC codes of a video
     file can now be independently changed.
   * Deinterlace filter now allows field folding and
     unfolding, to allow video filters to operate in quasi-
     interlaced mode.
   * Added detection of additional CPU extensions.
     (Note: They aren't used yet.)

   [optimizations]
   * Optimized MJPEG decoder core... again.
   * Precise bilinear and precise bicubic modes of resize
     filter (MMX) slightly sped up.

   [bug fixes]
   * Capture: NT/2000 timer correction has been removed
     (seemed to be subtly mucking up timing).
   * Frameserver: Aliasing bug causing video stream to
     indicate original codec has been fixed.
   * Fixed clipping in levels filter when input range is
     shrunk from (0-255) (thanks to Matt Heaney).
   * Spilled capture with audio disable no longer crashes.
   * Appending motion-JPEG files with one of the split
     options enabled now works.
   * Fixed some compressors not allowing quality setting
     changes.
   * Fixed capture time limit getting frozen with Internal
     capture.
   * Fixed 16-bit mono-to-stereo conversion (thanks to Jim
     Leonard).
   * VirtualDub now releases the lock on its plugins
     directory once it has finished autoloading.
   * Fixed spill system not switching files with audio
     absent.
   * Spaces now work in command-line loading.
   * Fixed broken capture log display option.
   * Added workaround for DirectDraw acceleration under
     NT/2K for input overlays.
   * Fixed spill drives getting multiply loaded and added
     to list.
   * Dragging a file onto VirtualDub now resets the
     filtering system.
   * The first file is closed as soon as possible during a
     multisegment write.
   * Y41P is now available for capture clipping.
   * TV, levels, fill, field swap, deinterlace, and invert
     filters now crop properly.
   * No longer reports "unexpected end of file" on video-
     only MPEG files.
   * Fixed Access Violation in smoother filter if noise
     prefilter and clipping were used.
   * Multisegment writes work on files with no audio.

   [misc changes]
   * "Temporal softener" has been renamed "motion blur."


Build 10805 (Version 1.3d):
   [thanks to Microsoft]
   * Support for ASF and MPEG-4 V3 has been removed at the
     request of Microsoft.  I can't tell you how disappointed
     I am at this, but Microsoft says they have intellectual
     property rights, and I can't do anything about it.
     This makes me very sad.

   [features added]
   * Added Matrox dmb1 to motion-JPEG detection.

   [optimizations]
   * Removed FlushFileBuffers() call in AVIOutput.cpp --
     this should improve file switching performance in
     capture mode.

   [bug fixes]
   * Capture: Internal mode no longer stomps on BITMAPV4
     gamma information -- fixes Pinnacle DCxx problems.
   * Fixed MPEG-1 P-frame random access decode errors
     (thanks to John Lynch).
   * Writing segmented files in Direct Stream Copy mode
     uses the correct segment size, and not half.
   * Static version of general convolution filter no longer
     inverts filter kernel.
   * Fixed rounding problem in 2:1 bicubic kernel (thanks
     to Ben Rudiak-Gould).
   * API: Fixed problems with aborting in startProc (thanks
     to Donald Graft).
   * API: Fixed FilterStatusInfo not being filled out in
     all circumstances.

Build 10740 (Version 1.3c):
   [bug fixes]
   * WAV replacement audio works again.
   * Frameserver code now supports frame size changes
     properly.
   * Fixed frameserver client proxy mode under Win95/98.
   * No longer crashes if you load a config file without
     a video file loaded.
   * Moved tab stop over on audio compression dialog, so
     that audio codecs with really long format names will
     fit.

Build 10728 (Version 1.3b):
   [features added]
   * Added additional checks to MPEG-1 decoding.
   * Seek to dropped frames, and selection endpoints.
   * Range selection and cut selection are now the same.
   * Added active preview to smoother filter.
   * Added autodetection for some "not quite MPEGs."
   * Added clipping during capture.
   * MJPEG decoder understands PICVideo 4:2:0 encoding now
     (but still not 4:1:1).
   * New experimental inverse telecine algorithm.
   * Input and output frames can be swapped.
   * Filename can be specified on the command line.
   * The Append option now allows auto-adding multiple
     segments by sequential filenames.

   [bug fixes]
   * Capture: Added special case code to exactly hit 29.97
     fps (NTSC).
   * Capture: Windows95/98 timing correction has been killed.
   * Capture: Fixed some overdraw problems with overlay.
   * Smoother filter doesn't smush everything over with 0
     threshold in MMX mode.
   * Filter preview and sampling now obey cuts.
   * Fixed memory leak with filters requesting GDI DCs.
   * Fixed TV I/Q 5x5+t/s filter (stupid, stupid, stupid bug).
   * Fixed short progress bars during some operations.
   * Filter API: Last frame buffer works properly.
   * Capture: Histogram modes have better compatibility.
   * VirtualDub's internal YUY2 driver doesn't show up in
     the compression dialog after capture mode anymore.
   * Fixed corruption & segmenting problems with audio
     sampling rate conversion filter.
   * Fixed MJPEG field swap option.
   * Window sizing now affects dub mode as well.
   * Segments aren't lost if you append after doing cuts.
   * Capture: Preview w/ Histogram is more stable.
   * Video direct stream copy with MPEG-1 input isn't allowed
     anymore.
   * Audio track sources are now saved properly in batch
     entries.
   * Fixed audio offset problem with compressed audio if
     you delete frames and use an output range.

Build 10015 (Version 1.3a):
   [bug fixes]
   * Fixed funny "x" dialogs popping up on crashes.
   * Fixed MPEG-1 crashes caused by errors in audio streams
     (STOP USING COPY /B TO JOIN FILES!!!!)
   * Fixed test capture crashing.
   * Changed average video rate back to fps instead of us.
   * Fixed 2:1 reduction not reducing file size on
     uncompressed captures.
   * Fixed divide-by-zero errors if you aborted a capture
     in less than 1/2 second.
   * Fixed disk space checking/file extension code.
   * Fixed a bug in the MJPEG code that caused crashes for
     frames with extremely high quality macroblocks (all
     64 coefficients).

Build 9924 (Version 1.3):
   [misc changes]
   * Inverse telecine has been disabled.  It's not working
     nearly as well on various sources as I'd hoped, and so
     I've disabled it until I have time to fix it.

   [features added: main program]
   * Direct support for YUY2 in both processing and capture
     modes.
   * VirtualDub can now detect when files are about to
     exceed available disk space and/or the 4Gb FAT32 limit,
     and close the file before the limit.
   * Replaced puny OS audio compression dialog with better,
     BIGGER one.

   [features added: capture]
   * Capture: Implemented video clock adjustment in capture
     mode for better audio/video sync.
   * Capture: Fast field swap (RGB, YUY2, UYVY, YVYU).
   * Capture: Fast noise reduction (RGB8, RGB24, RGB32, YUY2,
     UYVY, YVYU).  (Algorithm courtesy of Steven Don).
   * Capture: Fast 2:1 linear and cubic vertical reduction
     (RGB8, RGB24, RGB32, YUY2, UYVY, YVYU). 
   * Capture: CPU usage detection works in Windows NT/2K.

   [optimizations]
   * Added MMX IDCT routine to MPEG-1 and MJPEG decoding.
   * MJPEG decoding significantly faster.

   [bug fixes: main program]
   * MJPEG mode selections no longer crash if the video
     isn't in MJPEG format.
   * Internal MJPEG decoder now handles output from PICVideo
     and recent Morgan MJPEG codecs.
   * Fixed video filter API causing filters to occasionally
     receive timestamps in us instead of ms.
   * Fixed MPEG-1 packet sync errors caused by improper
     handling of sequence end tags.
   * Fixed slight bias in MPEG-1 motion prediction.
   * Fixed MPEG-1 macroblock skipping at slice start
     [fixes KareKano op].
   * Fixed video compressor confusion when two codecs of the
     same format are installed under different FOURCCs (e.g.
     PICVideo and MainConcept).
   * Fixed intermittent file write corruption on NT/2K SMP
     systems.
   * Filters deinitialized on exit (thanks Joey Liaw).
   * Hitting Cancel on the audio compression dialog no longer
     disables audio compression.
   * Jobs with extended open options work.
   * Smoother filter saves noise prefilter option.
   * Fixed some miscellaneous "Unhandled Microsoft C++
     Exception" crashes that were supposed to be errors.
   * Fixed audio segments getting dropped during preview
     whenever the pipeline stalled temporarily.
   * Fixed the stupid crash requester not saving crashinfo
     files.

   [bug fixes: capture]
   * Fixed capture 'audio relative rate' value going negative.
   * Fixed not being able to disable 'stupid capture driver'
     settings in preferences.
   * Allocate disk space dialog properly shows current
     capture drive.
   * Disk space measurement works with UNC network paths.
   * Segments can now exceed 2Gb.
   * Fixed seek timing errors introduced in capture files
     with compressed audio.
   * No longer crashes when running out of spill drives.
   * Fixed crashing problems when using the 'save compression'
     option with [No compression] or codecs that are
     later removed.

Build 8981 (Version 1.2a):
   [bug fixes]
   * Fixed MPEG-1 quantization matrix loading: corrects
     quality problems with Panasonic MPEG encoded files.
   * MPEG-1 IDCT routine is now IEEE-1180 compliant.
   * Fixed interleaving errors when compressing audio and
     with inverse telecine.
   * Fixed segmented saving stopping at 0.0 fps half the
     time due to rounding error.
   * Changed the interleaving default back to 1:1 per frame.

Build 8892 (Version 1.2):
   [features added]
   * External video filter interface reworked -- video
     filters now have access to bitmap manipulation routines
     and can obtain GDI handles to buffers.
   * Added levels filter - allows brightness, contrast, and
     gamma correction, with preview and histogram.
   * Changed position slider to display frame type
     (keyframe/nonkeyframe for AVI/ASF, IPB for MPEG-1),
     and time in HH:MM:SS.XXX instead of milliseconds.
   * Added field swap filter.
   * Added custom video format dialog to capture.  This
     allows selecting arbitrary frame sizes for cards that
     support them but don't include the option.
   * [EXPERIMENTAL] Added segmented multi-file support.
   * [EXPERIMENTAL] Added 3:2 pulldown removal.
   * Capture mode warns if the capture file is in use.  No
     more mysterious C:\CAPTURE.AVI files. :)

   [optimizations]
   * MMX bilinear resize filter faster, and MMX precise modes
     optimized for 2:1 reduction.
   * Changed interleaving default to 500ms intervals with a
     500ms preload, for smoother Windows Media Player playback.

   [bug fixes]
   * Can now open some AVI 1.0 files between 2 and 4Gb in
     size without "RIFF chunk <4 bytes" error.
   * Segment deletion works with compressed audio.
   * Fixed MPEG layer III 'incomplete frame' decoding bug
     (NekoAmp 1.3).
   * Fixed OpenDML 1.02 (AVI2) output problems with files
     exceeding 4Gb (NTFS only) and video frames exceeding
     512K each.
   * Fixed crashing problems with uncompressed 24-bit
     frames with power of two sizes.
   * Fixed crash when previewing (F5) a file with audio
     compressed at fewer than 5 samples per second.
   * Fixed subpixel offsets between some of the resize
     filter modes.
   * Fixed emboss and general convolution filters (why
     didn't anyone tell me they were broken!?)
   * Test capture mode now activates video compression.
   * Fixed 'wait for OK to capture' option causing weird
     capture settings and crashes.
   * Fixed difficulty switching between compressed and
     uncompressed Internal capture.
   * Fixed crashing on 'Perf' status tab.
   * Now disables display low-power and power-off properly
     during capture, thanks to Berrie Bloem.
   * Microsoft Video 1 compression now works (oops).
   * Fixed audio device getting locked silent when errors
     occur while starting preview.
   * Fixed audio desync effects when using frame rate
     decimation with files having odd speed fractions (10/1).
   * Fixed MPEG-4 codec behavior for builds 3845 and 3918.
   * Fixed minor B-frame accuracy bug in MPEG-1 decoder.


Build 7713 (Version 1.1):
   [features added]
   * Began adding active preview to filter system; only
     resize filter supports it right now.
   * Capture: On-the-fly filtering for uncompressed
     RGB captures.
   * Capture: Running histogram during preview, even
     through dialogs.  (May not work with some MJPEG
     cards.)
   * Capture: Information panel can be toggled.

   [bug fixes]
   * Matrox Rainbow Runner MJPEG codec works now (stupid
     codec).
   * Fixed drag-and-drop redraw issues.
   * Fixed last major MPEG-1 video quality problem!
   * Started reworking MPEG-1 routines to be 64-bit file
     clean (not yet fully tested).
   * External WAV audio splicing driver no longer chokes
     on 'fact' chunks.
   * Fixed crashes caused by audio interleave settings
     that pushed the audio stream start past the end.

Build 7538 (Version 1.0a):
   [optimizations]
   * Sped up MPEG packet search routines (thanks to Stephen
     Botzko for the tip).

   [bug fixes]
   * Fixed some AVIs improperly showing up as Uncompressed
     in the Information dialog.
   * Fixed some small niggling interface drawing issues.
   * Fixed accuracy issues with chrominance motion prediction
     in MPEG-1 decoder that cropped up since 1.0 pre-9.

*** Build 7419 (Version 1.0) ***:
   [features added]
   * Added autoloading for video filters.  Copy external .vdf
     files to PLUGINS\ in the VirtualDub program directory.
   * Added MPEG motion vector checking.  Hopefully this will
     solve crashes with some of those fscked up MPEGs people
     seem to have.
   * Finally implemented Abort button in the load progress
     boxes.
   * Implemented basic DirectDraw acceleration for output
     pane.  Not likely to work on some video cards with
     different pixel formats, though.
   * Added "copy output frame" to augment "copy source frame."
   * Option to accept partial ASF streams on error.
   * Start and end offsets now reset when new file is loaded.

   [bug fixes]
   * Fixed +/-100%% brightness adjustment on brightness/
     contrast filter in MMX mode.
   * Error now thrown if a script/job attempts to load
     a filter which is not available.
   * Fixed crash-on-exit caused by external filters being
     unloaded before being deinitialized.
   * Fixed abort-on-right flipping on during Internal capture
     when 'hit Ok' enabled.  Now, only if you have 'abort on
     left' enabled with that option, does it flip to
     abort-on-right.  (Abort-on-left catches the OK click.)
   * Most-recently-used list on menu now updates correctly
     when file loads fail.
   * ASF frame timing algorithm changed again; this one
     should avoid the 800,000 ms audio errors that sometimes
     occurred.
   * Squashed some audio funniness in Preview mode with
     compressed audio in Direct Stream Copy mode.
   * Fixed AVI load/decoding problems with files created by
     VideoMatrix.
   * NekoAmp: Fixed 320+kbps layer 2 and 160+kbps layer 3
     decoding.
   * Fixed menu item descriptions not appearing until after
     exit from capture mode.
   * Input options are now used in batch mode.
   * Resize filter now enforces sanity checks on values.

Build 7268 (Version 1.0 pre-9):
   [bug fixes]
   * Hopefully, fixed problems with MPEG-1 layer 2
     audio decoding that was causing "AudioSource" errors.
   * Fixed video compression not kicking back in from
     saved settings in capture mode.
   * Fixed ASF video decoding problems with build 3845
     of the MPEG-4 V2/V3 codec.
   * Solved crashes that occurred on some dubbing errors.

Build 7219 (Version 1.0 pre-8):
   [bug fixes]
   * Fixed hang-on-abort under NT.
   * Fixed backwards position skidding on preview stops.

Build 7209 (Version 1.0 pre-7):
   [features added]
   * Video overlay support (input playback only).
   * Fast Recompress mode is back!  Now it allows
     recompression through YUV formats for extra speed.
   * Autodetection of "bad" MPEG-4 codec driver.
   * Resize filter supports letterboxing as well.

   [optimizations]
   * Revamped thread synchronization - should be faster
     at stopping previews now.
   * Replaced old MPEG audio decoding core (Amp) with
     new core, NekoAmp.

   [bug fixes]
   * Fixed high-quality downsampling with 8-bit audio.
   * Fixed problems with Windows Media Audio v2 codec.
   * ASF routines now understand audio scrambling.
   * ASF audio sync fixed.

Build 6973 (Version 1.0 pre-6):
   [bug fixes]
   * Fixed intermittent stack overflow crashes on long
     captures (usually >70 minutes).
   * Altered ASF packet read algorithm to eliminate packet
     sync errors.

Build 6904 (Version 1.0 pre-5):
   [features added]
   * Arbitrary angle rotate filter (rotate2).
   * Preliminary ASF file support (it sucks).
   * Input and output pane zooming (right-click on panes).
   * Filtered output displayed when browsing source file.
   * Altered audio rate statistic in capture mode to track
     video capture clock (some audio cards are really,
     really far off in pitch....)
   * New audio rate correction option in AVI input options;
     allows compensation for bad audio clock.
   * Audio conversion dialog now allows arbitrary sampling
     rates (such as 22047).

   [optimizations]
   * MMX version of precise resize filters sped up
     slightly.
   * Tweaked bicubic mode of resize filter from A=-1.0 to
     A=-0.75 to reduce oversharpening effect.

   [bug fixes]
   * Fixed problems with Microsoft Audio Codec.
   * Fixed interface overdraw problems with overly large
     frame dimensions.
   * Fixed inadvertent disables of fast I/O mode during
     dubs.
   * Video compression dialog no longer says "Uncompressed
     RGB" on non-RGB capture devices.
   * Invert filter now works (DUH!!!)
   * Fixed visual problems with a 565 16-bit display, MMX
     enabled, and an odd output frame width.
   * Fixed ACM decompress errors on short, compressed
     audio streams.


Build 6536 (Version 1.0 pre-4):
   [features added]
   * Added some command line batch switches.
   * Load and save processing configuration.

   [optimizations]
   * Altered bitrate control algorithm.

   [bug fixes]
   * Fixed crashing problems with Morgan Multimedia codec
     and with Indeo 5 Quick Compress when keyframes and
     data rate are disabled.

Build 6502 (Version 1.0 pre-3):
   [features added]
   * Added rotate and invert filters.
   * Added tent filter for better audio resampling.

   [bug fixes]
   * Fixed scripting errors and top/bottom noise lines in
     the deinterlace filter.
   * "Normal recompress" mode fixed, including keyframe
     problems and strange moire compression patterns.
   * Improved accuracy and speed of precise resize modes.
   * Save WAV... now confirms overwriting files.
   * Audio conversion disabled in Direct Stream Copy mode.

Build 6375 (Version 1.0 pre-2):
   [bug fixes]
   * A large memory leak in the AVI output routines has
     been plugged.  (DOH!!!)

Build 6344 (Version 1.0 pre-1):
   [Features added]
   * Precise bilinear and precise bicubic resize improves
     quality on reductions >2:1.
   * Automatic detection and support for 16-bit 565 displays.
   * Fast MJPEG field deletion, splitting, and swapping.
   * Better video compression dialog.
   * More codecs identified when codec not present.

   [Optimizations]
   * AVI disk I/O revamped -- dub speeds can now reach 3Mb/s
     and higher.
   * Faster MJPEG decoding.

   [bug fixes]
   * MPEG video decoding quality improved.
   * Bicubic resizes should no longer crash on certain sizes.
   * Now keeps MPEG-4 settings across compression sessions
     (the Microsoft codec resets itself).
   * Fixed MMX-related illegal opcode faults on non-MMX
     CPUs.
   * Fixed configuration save problems under Windows 95.
   * The last image file is closed if an error occurs during
     Save Image Sequence....
   * Auto-correction for improperly sized PCM formats added,
     fixing problems with Ligos' LSX-MPEG Encoder.
   * Bit rate control support added for video codecs that
     support crunching.

Build 5401 (Version 1.0 beta):
   [Features added]
   * Chunks of the input file can be deleted (e.g. remove
     commercials), and frame rate decimation can sometimes
     be done in Direct Stream Copy mode.
   * 2 gigabyte barrier broken!  VirtualDub now supports
     the OpenDML 1.02 (AVI 2.0) extensions, meaning
     capture and processing to >2Gb files is now
     possible.
   * 'Save striped master' greatly speeds up making audio
     master tracks for using frameservers with the VCM
     driver.
   * Built-in MJPEG support -- it's incredibly slow, but
     will kick in for MJPEG files that cannot be processed
     by existing compressors in the system.
   * Capture mode now has a nifty panel on the
     right that delivers more useful information.
   * VirtualDub now catches some formerly fatal exceptions
     during capture and allows for clean shutdown in those
     cases.
   * Volume monitor in capture mode has an oscilloscope and
     spectrum analyzer, and can control Line-In volume.
   * "Big timer" displays running time during a capture.

   [optimizations]
   * Disk write routines adjusted for lower latency writes
     to disk (i.e. faster).

   [bug fixes]
   * MPEG parsing revised to ignore user chunks, fixing
     problems with the Final Fantasy: The Movie trailer.
   * Fixed hanging problems when writing out video frames
     larger than 4Mb.
   * Fixed some problems setting clipping regions with
     striped AVI files.
   * Jobs that are In Progress can no longer be switched
     to Postponed mode.

Build 4150 (Version 1.0 alpha):
   [Features added]
   * Job system.
   * Scripting support.
   * Double-clicking a filter in 'Add Filter' adds it.
   * New 16-bit dithering option dithers 24-bit images down
     to 16-bit 5:5:5 RGB -- the difference is noticeable
     sometimes.
   * Drop Frames During Preview option.
   * Sync to Audio now adjusts the time base rather than
     throttling the output, leading to smoother playback.
   * MPEG requester displays progress in bytes.
   * Audio support for MPEG files using Tomislav Uzelac's
     Amp 0.7.6 engine.

   [optimizations]
   * Bicubic resizes optimized for MMX.
   * MPEG decoding much faster (by about 50%%), and MMX
     optimized.
   * 16-bit RGB MPEG decoding.

   [bug fixes]
   * Audio streams are no longer written out with overly
     large wave formats when in Full Processing Mode.  This
     caused RealEncoder G2 beta 2 to reject PCM audio
     streams from VirtualDub.
   * Fixed a really stupid error: the bicubic resizer won't
     crash on integral multiples anymore.
   * The bilinear/bicubic resize filters have been adjusted
     to better filter when enlarging by an integral factor.
   * Scene Thresholds don't reset when the CPU Preferences
     tab is visited.
   * A race condition during dub shutdown has been fixed.
   * Crash/hang problems with certain size MPEG chunks
     solved.
   * MRUList fixed -- VirtualDub runs under NT again!
   * Predicted size and audio size in status box fixed.
   * Closed a lot of memory leaks, including one caused by
     a buggy CreateDIBSection() under NT4.0.

Build 3174 (Public Release 3):
   [Features added]
   * Striped AVI output mode for higher performance and
     evading the 2Gb limit.
   * Scene forward/reverse.
   * Histogram works on cards with hardware decompression.
   * VCM frameclient driver + support; now XingMPEG Encoder
     can use frameservers.
   * MPEGs can have their P/B frames omitted and/or motion
     vectors truncated to full pels for performance.
   * AVI rekeying, to fix AVIs with bad keyframe flags.
   * Task priority and filename extension behavior
     configurable.
   * Resize filter can now do bicubic filtering in addition
     to bilinear (formerly Linear Interpolation).
   * Flip Horizontally filter.
   * Limit preferences saving.
   * Color can be set for the fill filter.
   * MMX and FPU settings have been moved to Preferences,
     where they can be saved.
   * Double-clicking on a filter entry brings up the
     configure dialog box for that filter.

   [bug fixes]
   * Frameserver setup no longer says 'Korin.'
   * AVI output routines fixed - no longer writes odd-byte
     chunks.
   * Potential crash/hang problems with y-values in the
     fill filter fixed.
   * Filter entries now highlighted after an Add.

Build 2769 (Public Release 2):
   [Features added - main program]
   * Preliminary MPEG support (video only).
   * Histogram support. Click on the histograms to cycle
     between R/G/B/I modes.
   * Dubbing and capture windows now show filename.
   * Support for compressed 8-bit AVI files.
   * Audio compression and decompression.
   * Left, right arrow keys fine-step frames.
   * New output mode: individual DIB frames.
   * Context help for all capture and some dub dialogs.
   * Frameserver mode, to serve processed video output to
     other applications in real-time.
   * Vertical flip filter.
   * MRU (Most recently used) list.
   * Interleaving options now work.

   [Features added - capture]
   * Capture mode now has accelerators.
   * Total size during internal capture.
   * Histogram works on capture cards that use hardware
     compression.
   * Capture file, driver, and settings can be saved.

   [optimizations]
   * Larger granularity for index blocks.
   * Resize filter heavily optimized for FPU - linear
     interpolation now runs at full speed on many AVIs,
     without an MMX CPU.
   * Slightly better interface performance under NT.
   * Output buffering works now.
   * Internal capture mode - much better capture
     performance.

   [bug fixes]
   * Output file properly closed upon write failures.
   * Audio offset/clipping parameters fixed for frame rate
     decimation.
   * WAV files now closed when disabled.
   * Time limit for captures fixed; no longer alters the
     audio buffer size.
   * Conversion routines fixed for odd AVI widths; solves
     crash problems on many AVIs, particularly in 16-bit
     decompression mode.
   * ICDecompress() now used with decompressors that do
     not support ICDecompressEx().  This allows the
     miroVideo DRX MJPEG decompressor to work with
     VirtualDub.
   * Titlebars no longer refreshed every 1/2 second
     unless necessary -- speeds up dubs on slow systems.
   * Problems with audio-less files fixed.
   * Fixed range dialog from 'locking' when length(ms)
     field cleared.
   * Dynamic compilation filters work under NT.
   * Fixed corruption/crash problems with convolution
     based filters.
   * Failed captures and dubs are still finalized.
   * Memory leaks with filter system solved.
   * Capture errors forced to foreground.

Build 1482 (Public Release 1):
   * Marking works.
   * Frame reset to 0 upon load.
   * Position control.
   * Rounding/overflow errors in clipping dialog gone.
   * 8-bit AVIs now supported.
   * End-of-file race condition fixed.
   * AVI length write fixed
     (NOTE: If you have files which give errors at the end
            of processing, trim the end back and turn on
        Audio clipping.)
   * Audio interleaving fixed.
   * Preview mode audio playback no longer cut off.
   * Miscellaneous bug fixes.
